В SQL Server можете да използвате съхранената процедура sp_helptrigger, за да върнете типа или типове DML тригери, дефинирани в посочената таблица за текущата база данни.
Тази съхранена процедура работи само с DML тригери (не DDL тригери).
Синтаксис
Официалният синтаксис е така:
sp_helptrigger [ @tabname = ] 'table' [ , [ @triggertype = ] 'type' ]
Трябва да предоставите името на таблицата като аргумент. Можете да го поставите с префикс с @tabname =
, но това не е задължително.
Имате и опцията да посочите тип задействане. Това може да бъде или INSERT
, DELETE
, или UPDATE
.
Пример 1 – Основна употреба
Ето един прост пример за демонстрация.
EXEC sp_helptrigger 'dbo.t1';
Резултат:
+-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+ | trigger_name | trigger_owner | isupdate | isdelete | isinsert | isafter | isinsteadof | trigger_schema | |-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------| | t1_insert_trigger | dbo | 0 | 0 | 1 | 1 | 0 | dbo | +-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+
В случай, че имате проблеми с превъртането настрани, ето отново резултата с вертикален изход:
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
Пример 2 – Посочете тип
В този пример указвам и типа.
EXEC sp_helptrigger 'dbo.t1', 'INSERT';
Резултат (с помощта на вертикален изход):
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
В този случай имаше задействане от този тип.
Тук отново използва различен тип.
EXEC sp_helptrigger 'dbo.t1', 'DELETE';
Резултат:
(0 rows affected)
В този случай нямаше DELETE
тригери на тази маса.