更新后变异 table
After Update mutating table
有人能告诉我如何避免这种变异 table 错误 (ORA-04091)
我必须使用 After Update Trigger 来完成这项作业。
AFTER UPDATE OF QTY,ACTUALPRICE ON ITEM
FOR EACH ROW
DECLARE
BEGIN
UPDATE ITEM
SET ITEMTOT = :new.QTY * :new.ACTUALPRICE
WHERE ORDID = :old.ORDID AND ITEMID = :old.ITEMID;
END;
您不能运行查询在触发器本身内触发的table。在你的情况下,我认为你的触发器可以重写为 BEFORE UPDATE
触发器,它只设置 ITEMTOT
:
BEFORE UPDATE OF QTY,ACTUALPRICE ON ITEM
FOR EACH ROW
:new.ITEMTOT = :new.QTY * :new.ACTUALPRICE
END;
有人能告诉我如何避免这种变异 table 错误 (ORA-04091) 我必须使用 After Update Trigger 来完成这项作业。
AFTER UPDATE OF QTY,ACTUALPRICE ON ITEM
FOR EACH ROW
DECLARE
BEGIN
UPDATE ITEM
SET ITEMTOT = :new.QTY * :new.ACTUALPRICE
WHERE ORDID = :old.ORDID AND ITEMID = :old.ITEMID;
END;
您不能运行查询在触发器本身内触发的table。在你的情况下,我认为你的触发器可以重写为 BEFORE UPDATE
触发器,它只设置 ITEMTOT
:
BEFORE UPDATE OF QTY,ACTUALPRICE ON ITEM
FOR EACH ROW
:new.ITEMTOT = :new.QTY * :new.ACTUALPRICE
END;