когда я назначаю значения в столбцы в триггерах в Oracle. Не знаю почему. Это может быть архаичной привычкой.
учаю ошибку (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. Есть ли у вас идеи, почему эта ошибка выдается?
Спасибо за любую помощь!