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

Спасибо за любую помощь!

Ответы на вопрос(2)

Ваш ответ на вопрос