oracle包中如何处理异常?

时间:2019-01-21 07:31:48

标签: oracle plsql plsql-package

我有一个由许多程序组成的oracle软件包。 例如

pkg(
proc 1
proc 2
proc 3
);

在执行程序包时,首先调用proc 1,在proc 1中调用proc 2。 所以,如果我在proc 2中遇到异常怎么办,那么我想回滚在proc 1中完成的所有DML。

2 个答案:

答案 0 :(得分:1)

您无需执行任何操作,Oracle将为您执行回滚。只是不要在这些过程中的任何位置提交-在完成所有操作后,让调用方决定是否提交。

此外,请不要使用DDL,因为它会隐式提交到目前为止已完成的所有事情。

答案 1 :(得分:0)

除了Littlefoot提到的内容外,请考虑使用任何IDE。我建议您关闭自动提交的一些设置。否则,回滚将无济于事。