我具有PRAGMA AUTONOMOUS_TRANSACTION的过程A,用于记录主程序的活动。
现在,我在过程B中调用该程序A,以将活动过程记录在程序B中。如果程序A中发生任何错误,它也会使程序B失败。如何避免主程序B失败。
答案 0 :(得分:2)
该日志记录程序执行什么操作才能使其失败?它不是纯粹的INSERT
+ COMMIT
吗?
无论如何:最简单(也可能最坏)的选择是使用异常处理程序部分,例如
your_procedure is
begin
do something;
exception
when others then null;
end;
如果您真的不在乎是否发生了坏问题,那没关系,但是-目的是什么?您认为您做了什么,Oracle没有抱怨,该过程什么也不做,您也不知道发生了什么。
因此,最好确保此“记录”过程不会失败。