oracle回滚和提交

时间:2011-09-26 16:26:06

标签: oracle plsql oracle11g

在以下sql语句中:

BEGIN
update table1 set col1 = 'Y';
commit;
update table2 set col2 = 'Y';
rollback;
end;
/

它会回滚两个更新还是仅更新#2?

2 个答案:

答案 0 :(得分:5)

只是#2

您可能对save points

感兴趣

答案 1 :(得分:2)

您的语句将仅回滚当前事务。即更新table2。

您在发出提交时结束了table1事务的更新。

正如vc74所说,保存点是一个有用的工具,用于控制可以回滚的位置而无需发出提交等。