Можете да използвате T-SQL, за да върнете списък с тригерни събития в база данни в SQL Server.
Можете да направите това с помощта на sys.trigger_events
. Този изглед на системния каталог връща ред за всяко събитие или група събития, за които може да се задейства тригер.
Пример 1 – Основна употреба
Ето пример за демонстрация.
USE Test; SELECT object_id, OBJECT_NAME(object_id) AS [Trigger Name], type_desc FROM sys.trigger_events;
Резултат:
+-------------+-------------------+-------------+ | object_id | Trigger Name | type_desc | |-------------+-------------------+-------------| | 286624064 | t1_insert_trigger | INSERT | | 2034106287 | t6ins | INSERT | +-------------+-------------------+-------------+
В този случай използвам OBJECT_NAME()
функция за получаване на името на всеки тригер от неговия object_id
.
Пример 2 – Стеснете го до специфичен тригер
Можете също да използвате OBJECT_NAME()
за филтриране на резултатите до конкретно име на задействане с помощта на WHERE
клауза.
SELECT object_id, OBJECT_NAME(object_id) AS [Trigger Name], type_desc FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Резултат:
+-------------+-------------------+-------------+ | object_id | Trigger Name | type_desc | |-------------+-------------------+-------------| | 286624064 | t1_insert_trigger | INSERT | +-------------+-------------------+-------------+
Пример 3 – Връщане на всички колони
Този пример връща всички колони от този изглед.
SELECT * FROM sys.trigger_events WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';
Резултат (с помощта на вертикален изход):
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
В този пример представих резултатите, използвайки вертикален изход, така че да не бъдете принудени да превъртате хоризонтално.
Получаване на всички типове задействащи събития
Можете да потърсите каталожния изглед sys.trigger_event_types, за да получите списък с всички типове задействащи събития. Това са събитията или групите от събития, за които може да се задейства тригер.
Можете също да изпълните заявка, която ги изброява йерархично.