想知道是否需要回滚时,SQL异常检测(当别人除外):回滚在PLSQL异常
declare
cursor c_test is
select *
from tesing;
begin
for rec in c_test loop
begin
update test1 set test1.name=rec.name where test1.id=rec.id;
IF sql%rowcount = 1 THEN
commit;
ELSIF sql%rowcount =0 THEN
dbms_output.put_line('No Rows Updated');
else
dbms_output.put_line('More than 1 row exists');
rollback;
END IF;
exception when others then
dbms_output.put_line(Exception');
rollback;
end;
end;
我会在Oracle中阅读Tom Kyte的[Implicit Rollbacks](http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:43818437682131)。 SQL * Plus是一种不同的动物,您可以专门告诉它自动提交任何一组语句。 –
非常感谢信息 – Arav