Vous pouvez utiliser T-SQL pour renvoyer une liste d'événements déclencheurs dans une base de données dans SQL Server.
Vous pouvez le faire en utilisant sys.trigger_events
. Cette vue du catalogue système renvoie une ligne pour chaque événement ou groupe d'événements sur lequel un déclencheur peut se déclencher.
Exemple 1 - Utilisation de base
Voici un exemple pour illustrer.
USE Test; SELECT object_id, OBJECT_NAME(object_id) AS [Trigger Name], type_desc FROM sys.trigger_events;
Résultat :
+-------------+-------------------+-------------+ | object_id | Trigger Name | type_desc | |-------------+-------------------+-------------| | 286624064 | t1_insert_trigger | INSERT | | 2034106287 | t6ins | INSERT | +-------------+-------------------+-------------+
Dans ce cas, j'utilise le OBJECT_NAME()
fonction pour obtenir le nom de chaque déclencheur à partir de son object_id
.
Exemple 2 - Limitez-le à un déclencheur spécifique
Vous pouvez également utiliser OBJECT_NAME()
pour filtrer les résultats sur un nom de déclencheur spécifique à l'aide d'un WHERE
clause.
SELECT object_id, OBJECT_NAME(object_id) AS [Trigger Name], type_desc FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Résultat :
+-------------+-------------------+-------------+ | object_id | Trigger Name | type_desc | |-------------+-------------------+-------------| | 286624064 | t1_insert_trigger | INSERT | +-------------+-------------------+-------------+
Exemple 3 - Renvoyer toutes les colonnes
Cet exemple renvoie toutes les colonnes de cette vue.
SELECT * FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Résultat (en utilisant la sortie verticale) :
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
Dans cet exemple, j'ai présenté les résultats en utilisant une sortie verticale afin que vous ne soyez pas obligé de faire défiler horizontalement.
Obtenir tous les types d'événements déclencheurs
Vous pouvez interroger la vue catalogue sys.trigger_event_types pour obtenir une liste de tous les types d'événements déclencheurs. Ce sont les événements ou groupes d'événements sur lesquels un déclencheur peut se déclencher.
Vous pouvez également exécuter une requête qui les répertorie hiérarchiquement.