I SQL Server kan du använda den lagrade proceduren sp_helptrigger för att returnera typen eller typerna av DML-utlösare som definierats i den angivna tabellen för den aktuella databasen.
Denna lagrade procedur fungerar bara på DML-utlösare (inte DDL-utlösare).
Syntax
Den officiella syntaxen ser ut så här:
sp_helptrigger [ @tabname = ] 'table' [ , [ @triggertype = ] 'type' ]
Du måste ange tabellnamnet som ett argument. Du kan prefix det med @tabname =
, men detta är valfritt.
Du har också möjlighet att ange en triggertyp. Detta kan vara antingen INSERT
, DELETE
, eller UPDATE
.
Exempel 1 – Grundläggande användning
Här är ett enkelt exempel att visa.
EXEC sp_helptrigger 'dbo.t1';
Resultat:
+-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+ | trigger_name | trigger_owner | isupdate | isdelete | isinsert | isafter | isinsteadof | trigger_schema | |-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------| | t1_insert_trigger | dbo | 0 | 0 | 1 | 1 | 0 | dbo | +-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+
Om du har problem med att rulla i sidled, här är resultatet igen med vertikal utmatning:
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
Exempel 2 – Ange en typ
I det här exemplet anger jag också typen.
EXEC sp_helptrigger 'dbo.t1', 'INSERT';
Resultat (med vertikal utdata):
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
I det här fallet fanns det en trigger av den typen.
Här använder den återigen en annan typ.
EXEC sp_helptrigger 'dbo.t1', 'DELETE';
Resultat:
(0 rows affected)
I det här fallet fanns det ingen DELETE
utlösare på det bordet.