我编写了一个DB触发器来监视插入操作 . 插入新记录后,我想自动将 CREATION_DATE
设置为 sysdate
.
我想插入新记录时出错:
错误ORA-04091:表REPORT正在变异,触发器/函数可能看不到它ORA-06512:在“CREATION_DATE_TEST”,第2行ORA-04088:执行触发器'CREATION_DATE_TEST'时出错
我的代码:
CREATE OR REPLACE TRIGGER creation_date_test
AFTER INSERT ON REPORT FOR EACH ROW
BEGIN
UPDATE REPORT set CREATION_DATE = sysdate
WHERE ROWID = :new.ROWID;
END;
我还尝试用 PROJECT_ID = new.PROJECT_ID
替换 ROWID = :new.ROWID
. 它会抛出同样的错误 .
1 回答
听起来你只是想要一个设置
:new.creation_date
的插入前触发器