过程 A 从过程 B 进行的 PLSQL 回滚更改

PLSQL rollback changes made by procedure A from procedure B

我有pls/ql过程procedure_test(),这个过程改变了表中的一些数据,这个过程没有任何提交或回滚。

所以我从另一个程序调用此过程 - procedure_test2() 在从 procedure_test2() 调用 procedure_test() 之后,procedure_test() 中的所有更改都已提交。那么,如何回滚 procedure_test()procedure_test2() 所做的更改?

谢谢。

您可以使用 savepoint 例如在 procedure_test2() 中,代码就像

...
savepoint bforetest;
procedure_test(); 
rollback to savepoint bforetest; //this actually cancels whatever _test did.
...