Collected posts: Oracle, SQL, PL/SQL, Performance, Security...(More than 300 blogs)

jeudi 24 mai 2012

ORA-01453: SET TRANSACTION doit être la première instruction de la transaction

En essayant de d’exécuter ce bout de code sous PL/SQL developer, ça passe lors de première exécution mais lors de deuxième exécution j'ai reçu l'erreur oracle ORA-01453:
declare
  -- Local variables here
  i integer;
begin
set transaction read only;
/*
----
*/
end;

Vous devriez vous reconnecter pour re-exécuter ce code. Il y a une autre solution qui consiste à ajouter un commit ou rollback à fin de bloc en fonction de vos besoins.

declare
  -- Local variables here
  i integer;
begin
set transaction read only;
/*
----
*/  

commit;
-- or Rollback;
end;