Sie können T-SQL verwenden, um eine Liste von Triggerereignissen in einer Datenbank in SQL Server zurückzugeben.
Sie können dies mit sys.trigger_events
tun . Diese Systemkatalogansicht gibt eine Zeile für jedes Ereignis oder jede Ereignisgruppe zurück, bei der ein Trigger ausgelöst werden kann.
Beispiel 1 – Grundlegende Verwendung
Hier ist ein Beispiel zur Veranschaulichung.
USE Test; SELECT object_id, OBJECT_NAME(object_id) AS [Trigger Name], type_desc FROM sys.trigger_events;
Ergebnis:
+-------------+-------------------+-------------+ | object_id | Trigger Name | type_desc | |-------------+-------------------+-------------| | 286624064 | t1_insert_trigger | INSERT | | 2034106287 | t6ins | INSERT | +-------------+-------------------+-------------+
In diesem Fall verwende ich das OBJECT_NAME()
Funktion, um den Namen jedes Triggers aus seiner object_id
zu erhalten .
Beispiel 2 – Auf einen bestimmten Auslöser eingrenzen
Sie können auch OBJECT_NAME()
verwenden um die Ergebnisse mit einem WHERE
auf einen bestimmten Triggernamen zu filtern Klausel.
SELECT object_id, OBJECT_NAME(object_id) AS [Trigger Name], type_desc FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Ergebnis:
+-------------+-------------------+-------------+ | object_id | Trigger Name | type_desc | |-------------+-------------------+-------------| | 286624064 | t1_insert_trigger | INSERT | +-------------+-------------------+-------------+
Beispiel 3 – Alle Spalten zurückgeben
Dieses Beispiel gibt alle Spalten aus dieser Ansicht zurück.
SELECT * FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Ergebnis (bei vertikaler Ausgabe):
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 diesem Beispiel habe ich die Ergebnisse mit vertikaler Ausgabe dargestellt, damit Sie nicht gezwungen sind, horizontal zu scrollen.
Alle Trigger-Ereignistypen abrufen
Sie können die Katalogansicht sys.trigger_event_types abfragen, um eine Liste aller Auslöserereignistypen zu erhalten. Dies sind die Ereignisse oder Ereignisgruppen, bei denen ein Trigger ausgelöst werden kann.
Sie können auch eine Abfrage ausführen, die sie hierarchisch auflistet.