我的目标是创建触发器,它将在Task更新的情况下更新Project中的值。每个任务都有一个预估时间,项目中有一列存储了平均预估时间。我想要的是,如果一个任务的估计时间更新,触发器将改变项目的平均时间。
我不知道该怎么做,我想出了下面的代码,但它不工作。
CREATE OR REPLACE TRIGGER trig_task_update
AFTER update
ON Task
FOR EACH ROW
BEGIN
UPDATE Project p SET (avg_task_estimated_time) = (SELECT AVG(estimatedTime) FROM TASK t WHERE t.project_idProject= p.idProject) WHERE p.idProject = :NEW.project_idProject;
END;
/在更新表TASK之后,我收到以下错误:
ORA-04091: table TASK is mutating, trigger/function may not see it发布于 2017-05-31 17:10:57
https://stackoverflow.com/questions/44271125
复制相似问题