用自治事务: eg:create table t (test_value varchar2(100));CREATE OR REPLACE PROCEDURE child_block IS PRAGMA AUTONOMOUS_TRANSACTION;BEGIN INSERT INTO t (test_value) VALUES ('Child block insert'); COMMIT; END child_block; CREATE OR REPLACE PROCEDURE parent_block ISBEGIN INSERT INTO t (test_value) VALUES ('Parent block insert'); child_block; ROLLBACK; END parent_block;
eg:create table t (test_value varchar2(100));CREATE OR REPLACE PROCEDURE child_block IS PRAGMA AUTONOMOUS_TRANSACTION;BEGIN
INSERT INTO t (test_value) VALUES ('Child block insert'); COMMIT;
END child_block;
CREATE OR REPLACE PROCEDURE parent_block ISBEGIN
INSERT INTO t (test_value) VALUES ('Parent block insert'); child_block; ROLLBACK;
END parent_block;