Puede usar T-SQL para devolver una lista de eventos desencadenantes en una base de datos en SQL Server.
Puedes hacer esto usando sys.trigger_events
. Esta vista de catálogo del sistema devuelve una fila para cada evento o grupo de eventos en los que se puede activar un disparador.
Ejemplo 1:uso básico
Aquí hay un ejemplo para demostrarlo.
USE Test; SELECT object_id, OBJECT_NAME(object_id) AS [Trigger Name], type_desc FROM sys.trigger_events;
Resultado:
+-------------+-------------------+-------------+ | object_id | Trigger Name | type_desc | |-------------+-------------------+-------------| | 286624064 | t1_insert_trigger | INSERT | | 2034106287 | t6ins | INSERT | +-------------+-------------------+-------------+
En este caso estoy usando OBJECT_NAME()
función para obtener el nombre de cada disparador de su object_id
.
Ejemplo 2:limitarlo a un disparador específico
También puede usar OBJECT_NAME()
para filtrar los resultados a un nombre de disparador específico usando un WHERE
cláusula.
SELECT object_id, OBJECT_NAME(object_id) AS [Trigger Name], type_desc FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Resultado:
+-------------+-------------------+-------------+ | object_id | Trigger Name | type_desc | |-------------+-------------------+-------------| | 286624064 | t1_insert_trigger | INSERT | +-------------+-------------------+-------------+
Ejemplo 3:devolver todas las columnas
Este ejemplo devuelve todas las columnas de esta vista.
SELECT * FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Resultado (usando salida vertical):
object_id | 286624064 type | 1 type_desc | INSERT is_first | 0 is_last | 0 event_group_type | NULL event_group_type_desc | NULL is_trigger_event | 1
En este ejemplo, presenté los resultados utilizando la salida vertical para que no se vea obligado a desplazarse horizontalmente.
Obtención de todos los tipos de eventos desencadenantes
Puede consultar la vista de catálogo sys.trigger_event_types para obtener una lista de todos los tipos de eventos desencadenantes. Estos son los eventos o grupos de eventos en los que se puede activar un disparador.
También puede ejecutar una consulta que los enumere jerárquicamente.