原链接:
http://www.itpub.net/viewthread.php?tid=1231296&extra=&page=1
父存储过程能否回滚子过程已经提交的数据?
create table TEST1
(
C1 VARCHAR2(100)
)
alter table TEST1
add constraint key1 primary key (C1);
CREATE OR REPLACE PROCEDURE testp1 IS
BEGIN
INSERT INTO test1 (c1) VALUES ('11');
COMMIT;
END testp1;
CREATE OR REPLACE PROCEDURE testp3 IS
BEGIN
testp1;
testp1; --违反主键约束,一定会出现异常。
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RAISE;
END testp3;
执行:exec testp3;
结果:表中有一行数据 “11”