触发器中规定不可以使用事物处理,当有需求虽然报错 ,但是需要记录日志时,可以使用自治事物进行处理,代码如下:
加自治事物: PRAGMA AUTONOMOUS_TRANSACTION;
CREATE OR REPLACE TRIGGER trg_TEST
before delete OF COL3
ON TEST
FOR EACH ROW
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO test(col1,col2,new_col3,old_col3,col4)
VALUES(: old.col1, : old.col2, :new.col3, : old.col3,sysdate);
COMMIT;
END;