Você pode usar o T-SQL para retornar uma lista de eventos de gatilho em um banco de dados no SQL Server.
Você pode fazer isso usando
sys.trigger_events
. Essa exibição do catálogo do sistema retorna uma linha para cada evento ou grupo de eventos no qual um acionador pode ser acionado. Exemplo 1 – Uso básico
Aqui está um exemplo para demonstrar.
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 | +-------------+-------------------+-------------+
Neste caso estou usando o
OBJECT_NAME()
função para obter o nome de cada acionador de seu object_id
. Exemplo 2 – Restringir a um gatilho específico
Você também pode usar
OBJECT_NAME()
para filtrar os resultados para um nome de gatilho específico usando um 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 | +-------------+-------------------+-------------+
Exemplo 3 – Retornar todas as colunas
Este exemplo retorna todas as colunas desta exibição.
SELECT * FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Resultado (usando saída 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
Neste exemplo, apresentei os resultados usando saída vertical para que você não seja forçado a rolar horizontalmente.
Obter todos os tipos de eventos de acionamento
Você pode consultar a exibição de catálogo sys.trigger_event_types para obter uma lista de todos os tipos de eventos de gatilho. Esses são os eventos ou grupos de eventos nos quais um gatilho pode ser acionado.
Você também pode executar uma consulta que os liste hierarquicamente.