【发布时间】:2018-11-30 16:02:57
【问题描述】:
执行我的触发器时出现错误(ORA-04091:表 DBPROJEKT_AKTIENDEPOT.AKTIE 正在变异,触发器/函数可能看不到它):
CREATE OR REPLACE TRIGGER Aktien_Bilanz_Berechnung
AFTER
INSERT OR UPDATE OF TAGESKURS
OR INSERT OR UPDATE OF WERT_BEIM_EINKAUF
ON AKTIE
FOR EACH ROW
DECLARE
bfr number;
Begin
bfr := :new.TAGESKURS - :new.WERT_BEIM_EINKAUF;
UPDATE AKTIE
SET BILANZ = TAGESKURS - WERT_BEIM_EINKAUF;
IF bfr < -50
THEN
DBMS_OUTPUT.PUT_LINE('ACHTUNG: The value (Nr: '||:new.AKTIEN_NR||') is very low!');
END IF;
END;
我想在计算后检查值“BILANZ”,它是否低于-50。 你知道为什么会抛出这个错误吗?
感谢您的帮助!
【问题讨论】:
标签: sql oracle triggers database-trigger