0
我已创建此触发器,以便在向ORDER_DETAIL表插入一行后,从表中获取“UNIT_PRICE” ITEM并将其设置为基于“ITEM_ID”的ORDER_DETAIL表的“价格”。我对语法有任何错误吗?先谢谢你!如何语法SQL中的触发器,以便更新同一个表中的列AFTER INSERT(oracle数据库)
CREATE OR REPLACE TRIGGER PRICETRIG
AFTER INSERT ON ORDER_DETAIL FOR EACH ROW
BEGIN
UPDATE ORDER_DETAIL
SET ORDER_DETAIL.PRICE=(SELECT ITEM.UNIT_PRICE FROM ITEM WHERE
ORDER_DETAIL.ITEM_ID=ITEM.ITEM_ID);
END;
这就是错误:
One error saving changes to table "ORDER_DETAIL":
Row 8: ORA-04091: table ORDER_DETAIL is mutating, trigger/function
may not see it
ORA-06512: at "PRICETRIG", line 2
ORA-04088: error during execution of trigger 'PRICETRIG'
ORA-06512: at line 1