Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Błąd wyzwalacza Oracle ORA-04091

Modyfikujesz tabelę za pomocą wyzwalacza. Użyj before update wyzwalacz:

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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kolumna niedozwolona tutaj błąd w instrukcji INSERT

  2. ORA-22905 - podczas zapytania o typ tabeli za pomocą instrukcji SELECT

  3. Równoległe wywołania w PL/SQL

  4. Oracle PL/SQL — zgłaszanie wyjątków zdefiniowanych przez użytkownika za pomocą niestandardowego SQLERRM

  5. 50 odcieni egzaminu certyfikacyjnego Oracle Database