|
如果中间有语句发生错误就不一样了,写了一个测试的例子,看看对你有帮助没有
drop table aatest;
create table aatest
(nid number,nname varchar2(16))
insert into aatest(nid,nname)values(1,'00');
commit;
create or replace procedure aatesta
as
begin
update aatest set nname='step1' where nid=1;
commit;
update aatest set nname='step2' where nid=1;
commit;
update aatest set nname='step3_12345678910101010101' where nid=1;
commit;
exception when others then
rollback;
end;
create or replace procedure aatestb
as
begin
update aatest set nname='step1' where nid=1;
update aatest set nname='step2' where nid=1;
update aatest set nname='step3_12345678910101010101' where nid=1;
commit;
exception when others then
rollback;
end; |
|