【发布时间】:2014-11-29 00:52:11
【问题描述】:
我的触发器有问题。将触发器添加到数据库后,当我尝试插入触发器将作用的行时,出现变异表错误。我不知道如何避免这种情况。有人介意看看这个并告诉我我做错了什么,以及如何重写它?
CREATE OR REPLACE TRIGGER ORNG_INV_LINE_TOTAL_TRIGGER
FOR INSERT OR UPDATE ON ORNG_INV_LINE
COMPOUND TRIGGER
AFTER EACH ROW IS
BEGIN
UPDATE ORNG_INVOICE SET Inv_Amount = (SELECT SUM(ORNG_INV_LINE.Inv_Line_Total)
FROM ORNG_INV_LINE
WHERE ORNG_INVOICE.INV_Num = :NEW.INV_Num);
END AFTER EACH ROW;
END ORNG_INV_LINE_TOTAL_TRIGGER;
/
我不确定它为什么会触发错误。我正在尝试在更新后执行此操作。我要做的就是获取所有匹配发票编号的所有行的总和,并将该值写入 INVOICE 表中。感谢您的帮助。
【问题讨论】: