U kunt T-SQL gebruiken om een lijst met triggergebeurtenissen in een database in SQL Server te retourneren.
U kunt dit doen met sys.trigger_events
. Deze systeemcatalogusweergave retourneert een rij voor elke gebeurtenis of gebeurtenisgroep waarop een trigger kan worden geactiveerd.
Voorbeeld 1 – Basisgebruik
Hier is een voorbeeld om te demonstreren.
USE Test; SELECT object_id, OBJECT_NAME(object_id) AS [Trigger Name], type_desc FROM sys.trigger_events;
Resultaat:
+-------------+-------------------+-------------+ | object_id | Trigger Name | type_desc | |-------------+-------------------+-------------| | 286624064 | t1_insert_trigger | INSERT | | 2034106287 | t6ins | INSERT | +-------------+-------------------+-------------+
In dit geval gebruik ik de OBJECT_NAME()
functie om de naam van elke trigger te halen uit zijn object_id
.
Voorbeeld 2 – Beperk het tot een specifieke trigger
Je kunt ook OBJECT_NAME()
. gebruiken om de resultaten te filteren op een specifieke triggernaam met behulp van een WHERE
clausule.
SELECT object_id, OBJECT_NAME(object_id) AS [Trigger Name], type_desc FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Resultaat:
+-------------+-------------------+-------------+ | object_id | Trigger Name | type_desc | |-------------+-------------------+-------------| | 286624064 | t1_insert_trigger | INSERT | +-------------+-------------------+-------------+
Voorbeeld 3 – Alle kolommen retourneren
Dit voorbeeld retourneert alle kolommen uit deze weergave.
SELECT * FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Resultaat (met verticale uitvoer):
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
In dit voorbeeld heb ik de resultaten gepresenteerd met behulp van verticale uitvoer, zodat u niet gedwongen horizontaal moet scrollen.
Alle typen triggergebeurtenissen ophalen
U kunt de catalogusweergave sys.trigger_event_types opvragen om een lijst met alle typen triggergebeurtenissen te krijgen. Dit zijn de gebeurtenissen of gebeurtenisgroepen waarop een trigger kan worden geactiveerd.
U kunt ook een query uitvoeren waarin ze hiërarchisch worden weergegeven.