程序A中的过程A对PLSQL回滚进行了更改

时间:2016-08-04 09:49:21

标签: oracle plsql transactions rollback

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

所以,我从procedure_test2()调用procedure_test()之后,从procedure_test2()调用此过程,procedure_test()中的所有更改都已提交。那么,如何从procedure_test()

回滚procedure_test2()所做的更改

感谢。

1 个答案:

答案 0 :(得分:2)

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

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