PRAGMA AUTONOMOUS_TRANSACTION

时间:2019-02-25 18:50:39

标签: oracle plsql plsql-package hive-hplsql

我具有PRAGMA AUTONOMOUS_TRANSACTION的过程A,用于记录主程序的活动。

现在,我在过程B中调用该程序A,以将活动过程记录在程序B中。如果程序A中发生任何错误,它也会使程序B失败。如何避免主程序B失败。

1 个答案:

答案 0 :(得分:2)

该日志记录程序执行什么操作才能使其失败?它不是纯粹的INSERT + COMMIT吗?

无论如何:最简单(也可能最坏)的选择是使用异常处理程序部分,例如

your_procedure is
begin
  do something;
exception
  when others then null;
end;

如果您真的不在乎是否发生了问题,那没关系,但是-目的是什么?您认为您做了什么,Oracle没有抱怨,该过程什么也不做,您也不知道发生了什么。

因此,最好确保此“记录”过程不会失败。

相关问题