Se creó un activador en una tabla que se compiló y se mostró el mensaje "Activador creado".
Pero en la operación en la tabla particular, el disparador no se dispara.
¿Cuál podría ser el problema o hay un problema aquí?
Respuestas
0 para la respuesta № 1Compruebe si su disparador está en estado deshabilitado. Si es así, habilita el gatillo.
ALTER TABLE table_name ENABLE TRIGGER tr_name
0 para la respuesta № 2
Compruebe si el disparador es válido y habilitado:
SELECT * FROM User_Objects t WHERE t.OBJECT_TYPE = "TRIGGER";
SELECT t.* FROM User_Triggers t;
0 para la respuesta № 3
Si estás usando oráculo, puedes intentar habilitar el disparador
ALTER TABLE tblName ENABLE TRIGGER trgName --WRONG
Corrigiendo la sintaxis (gracias por el comentario):
ALTER TRIGGER trg_name ENABLE;
Para comprobar si existe su activador, válido / inválido, etc .:
SELECT * from dba_triggers WHERE LOWER(trigger_name) LIKE "%salupdate%";
SELECT * FROM dba_objects WHERE LOWER(object_name) LIKE "%salupdate%";
El usuario está utilizando DBMS_OUTPUT.PUT_LINE en el desencadenador que no se ve en la salida, a continuación se resuelve el problema:
SET SERVEROUTPUT ON;