【发布时间】:2017-01-10 02:34:14
【问题描述】:
我编写了一个数据库触发器来监控插入操作。插入新记录后,我想自动将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;
我还尝试将ROWID = :new.ROWID 替换为PROJECT_ID = new.PROJECT_ID。它会引发同样的错误。
【问题讨论】:
标签: oracle plsql triggers database-trigger