Alors je comprends très bien ce que veut dire mnitu mais peut être qu'une petite précision s'impose pour toi.
Crée la procédure sans gestion d'erreur, ni commit, ni rollback, côté oracle, puis soit tu catches l'erreur dans l'application web afin d'afficher un joli message d'erreur demandant par exemple de contacter l'administrateur et évidemment dans ce cas, afin de données des billes à l'administrateur, il faut logguer cette erreur, soit tu affiches directement l'erreur...évidemment on te demandera de catcher l'erreur.
Relis le lien vers asktom que j'avais proposé plus haut (enfin lis surout la réponse, le follow up):
http://asktom.oracle.com/pls/asktom/...83800346134509
Et un peu plus loin :Citation:
exception blocks should be coded for one of two things:
a) at the top level - the block of code that the client submits - in order to LOG the error, eg: client can submit:
begin p(....); exception when others then log_error( ...); RAISE; end;
and that should be at the TOP LEVEL only - not in every silly routine, just in the bit of code that calls your routine
b) when you EXPECT the error, eg:
begin
...
begin
select x into y from t where ...;
exception
when no_data_found then y := some_default;
end;
..........
and can recover from it (eg: it is NOT an error).
Et dans ton cas "the client" semble être l'application web.Citation:
Todays top level procedure is tomorrows bottom of the stack - or second in a list of five.
It is up to the client to control transactions - only.