Biraz şüphe duyuyorum. en bu paketin prosedürleri varsayalım:otonom işlem kapsamı ve hata bildirme
PROCEDURE ERR_MANAGER(I_ERRM IN VARCHAR2) IS
BEGIN
ROLLBACK;
--DO SOME STUFF
END ERR_MANAGER;
PROCEDURE test IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
test2;
COMMIT;
EXCEPTION WHEN OTHERS THEN ERR_MANAGER(SQLERRM);
END test;
PROCEDURE test2 IS
BEGIN
--DO SOME TRANSACTIONNAL DML
RAISE_APPLICATION_ERROR(-20001, 'ERR'); --for the test purpose, in reality this could be any actual error
END test2;
Yani, err_manager()
yönteminde ele alınması ardından test()
kadar yükseltmek için gidiyor test2()
bir hata, orada görmek ve gibi.
Yani 2 soru var:
err_manager kapsamını ne- ()? Hala otonom işlemin içinde mi? Sanırım, sadece bir işlev çağrısı olduğu için,
- emin olmak isterim ki, üst düzey seviyelere yükselen bir hata nedeniyle otonom bir işlemden çıkıp, herhangi bir taahhüt veya geri alma işlemine devam etmeden ne oluyor?
Çok teşekkür ederim. S.
fantastik, teşekkür ederim! – Sebas