我有一个表PRODUCTS
对象的数据库Product
其中PRIMARY KEY
是EAN
字段。每次更新行时,我想调用新对象Product
的成员函数修改。我提出这个触发:更新后在DML触发器中调用对象成员函数(ORACLE数据库)
CREATE OR REPLACE TRIGGER SHOW_PROFIT_PERCENTAGE
AFTER UPDATE ON PRODUCTS
FOR EACH ROW
DECLARE
P Product;
BEGIN
SELECT VALUE(PS) INTO P
FROM PRODUCTS PS
WHERE EAN = :NEW.EAN;
DBMS_OUTPUT.PUT_LINE('Profit percentage: ' || P.getProfit());
END;
但是当我更新PRODUCTS
它给了我这个错误:我怀疑
table PRODUCTS is mutating, trigger/function may not see it
。有没有办法做到这一点?谢谢!
非常感谢!现在它工作! – Maghio