Pomocí T-SQL můžete vrátit seznam spouštěcích událostí v databázi na serveru SQL Server.
Můžete to udělat pomocí sys.trigger_events
. Toto zobrazení systémového katalogu vrací řádek pro každou událost nebo skupinu událostí, u kterých se může spustit spouštěč.
Příklad 1 – Základní použití
Zde je příklad k demonstraci.
USE Test; SELECT object_id, OBJECT_NAME(object_id) AS [Trigger Name], type_desc FROM sys.trigger_events;
Výsledek:
+-------------+-------------------+-------------+ | object_id | Trigger Name | type_desc | |-------------+-------------------+-------------| | 286624064 | t1_insert_trigger | INSERT | | 2034106287 | t6ins | INSERT | +-------------+-------------------+-------------+
V tomto případě používám OBJECT_NAME()
k získání názvu každého spouštěče z jeho object_id
.
Příklad 2 – Zúžení na konkrétní spouštěč
Můžete také použít OBJECT_NAME()
pro filtrování výsledků na konkrétní název spouštěče pomocí WHERE
doložka.
SELECT object_id, OBJECT_NAME(object_id) AS [Trigger Name], type_desc FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Výsledek:
+-------------+-------------------+-------------+ | object_id | Trigger Name | type_desc | |-------------+-------------------+-------------| | 286624064 | t1_insert_trigger | INSERT | +-------------+-------------------+-------------+
Příklad 3 – Vrátit všechny sloupce
Tento příklad vrátí všechny sloupce z tohoto zobrazení.
SELECT * FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Výsledek (při použití vertikálního výstupu):
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
V tomto příkladu jsem prezentoval výsledky pomocí vertikálního výstupu, abyste nebyli nuceni posouvat horizontálně.
Získání všech typů událostí spouštěče
Seznam všech typů událostí spouštěče můžete získat dotazem na zobrazení katalogu sys.trigger_event_types. Toto jsou události nebo skupiny událostí, u kterých se může spustit spouštěč.
Můžete také spustit dotaz, který je hierarchicky vypíše.