当执行SQL语句出错时,等于这条语句所执行的操作未执行,并没有进行事务的回滚,相反,当执行
delete from table1 where ...
detete from table2 where .......
两条语句后,执行rollback或commit,两条语句的结果同时回滚或提交。
delete from table1 where ...
detete from table2 where .......
两条语句后,执行rollback或commit,两条语句的结果同时回滚或提交。
如果没有,数据库会自动commit
对于对oracle内部对象(如更改表结构等)的一些操作,oracle自动提交的。
好象你的语句,oracle在执行的时候就变成了:
delete from table where .......;
commit;
update table set column1=......;
commit;