/ / Trigger nie uruchamia się podczas operacji - sql, oracle, plsql, wyzwalacz bazy danych

Wyzwalacz nie uruchamia się - sql, oracle, plsql, database-trigger

Utworzono wyzwalacz w tabeli, która się skompilowała i został wyświetlony komunikat „Utworzono wyzwalacz”.

Ale przy działaniu na konkretnym stole spust nie uruchamia się.

Co może być problemem lub czy jest tu jakiś haczyk?

Odpowiedzi:

0 dla odpowiedzi № 1

Sprawdź, czy twój wyzwalacz jest w stanie wyłączonym. Jeśli tak, włącz wyzwalacz.

ALTER TABLE nazwa_tabeli ENABLE TRIGGER nazwa_tr


0 dla odpowiedzi nr 2

Sprawdź, czy wyzwalacz jest prawidłowy i włączony:

SELECT * FROM User_Objects t WHERE t.OBJECT_TYPE = "TRIGGER";
SELECT t.* FROM User_Triggers  t;

0 dla odpowiedzi № 3

Jeśli używasz wyrocznia, możesz spróbować włączyć wyzwalacz

    ALTER TABLE tblName ENABLE TRIGGER trgName --WRONG

Poprawienie składni (dzięki za komentarz):

    ALTER TRIGGER trg_name ENABLE;

Aby sprawdzić, czy Twój wyzwalacz istnieje, jest ważny / nieważny itp .:

    SELECT * from dba_triggers WHERE LOWER(trigger_name) LIKE "%salupdate%";
SELECT * FROM dba_objects WHERE LOWER(object_name) LIKE "%salupdate%";

Użytkownik używa DBMS_OUTPUT.PUT_LINE w wyzwalaczu, który nie jest widoczny w danych wyjściowych, następujące rozwiązanie problemu:

    SET SERVEROUTPUT ON;