【发布时间】:2016-10-29 14:17:59
【问题描述】:
我写了这个触发器
CREATE OR REPLACE TRIGGER update_expirationDate
AFTER INSERT ON DIFFUSION FOR EACH ROW
DECLARE
lastdiffusion DATE;
BEGIN
SELECT MAX(diffusionDate) INTO lastdiffusion FROM DIFFUSION WHERE idEpisode = :NEW.idEpisode;
UPDATE EPISODE SET expirationDate = lastdiffusion + 14 WHERE idEpisode = :NEW.idEpisode;
END;
/
编译没问题,但是当我在 DIFFUSION 中插入一些值时,出现以下错误:
ORA-04091: table DIFFUSION is mutating, trigger/function may not see it
我不明白是什么问题..
有人可以帮助我并告诉我我做错了什么吗?谢谢。
【问题讨论】:
-
几天前我回答了一个类似的question。