2011-09-26 48 views
1

在下面的SQL语句:甲骨文回滚和提交

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

它会回滚无论是更新或只更新#2?

回答

2

你的语句将回滚只是当前事务。即表2的更新。

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

由于vc74说,保存点是一个有用的工具来控制你可以回滚的地方,而不必发出提交等。