想知道是否需要回滾時,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