我有一個表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