[SQL] 오라클 트리거 오류 ORA-04091
SQL오라클 트리거 오류 ORA-04091
나는 오류가 발생 : 내 트리거를 실행할 때 (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;
이 -50에서인지 나는 그것을 계산 한 후 값 "BILANZ"을 확인하시기 바랍니다. 이 오류가 발생하는 이유 어떤 생각을 가지고 있습니까?
어떤 도움을 주셔서 감사합니다!
해결법
-
==============================
1.몇 가지 문제는 여기에 있습니다 :
몇 가지 문제는 여기에 있습니다 :
행운을 빌어 요.
-
==============================
2.당신은 트리거 테이블을 수정. 업데이트 트리거하기 전에 사용
당신은 트리거 테이블을 수정. 업데이트 트리거하기 전에 사용
CREATE OR REPLACE TRIGGER Aktien_Bilanz_Berechnung BEFORE INSERT OR UPDATE OF TAGESKURS OR INSERT OR UPDATE OF WERT_BEIM_EINKAUF ON AKTIE FOR EACH ROW DECLARE v_bfr number; BEGIN v_bfr := :new.TAGESKURS - :new.WERT_BEIM_EINKAUF; :new.BILANZ := v_bfr; IF v_bfr < -50 THEN Raise_Application_Error(-20456,'ACHTUNG: The value (Nr: '|| :new.AKTIEN_NR || ') is very low!'); END IF; END;
from https://stackoverflow.com/questions/50966543/oracle-trigger-error-ora-04091 by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] PostgreSQL의 열을 찾을 수 없습니다, 그러나 쇼가에 설명 (0) | 2020.06.19 |
---|---|
[SQL] SQL 쿼리 : 그룹의 반환 최대 값 기록 (0) | 2020.06.19 |
[SQL] PostgreSQL의에서 카디널리티 추정 오차를 표시하는 쿼리 샘플 (0) | 2020.06.19 |
[SQL] Access 쿼리에서 시작 날짜와 종료 날짜를 사용하여 (0) | 2020.06.19 |
[SQL] IOS : 이상의 원인을 조기 메모리 해제 번만 sqlite가 동일한 매개 변수를 사용하여 (0) | 2020.06.19 |