I SQL Server kan du bruge den lagrede procedure sp_helptrigger til at returnere den eller de typer af DML-triggere, der er defineret i den angivne tabel for den aktuelle database.
Denne lagrede procedure virker kun på DML-triggere (ikke DDL-triggere).
Syntaks
Den officielle syntaks lyder sådan her:
sp_helptrigger [ @tabname = ] 'table' [ , [ @triggertype = ] 'type' ]
Du skal angive tabelnavnet som et argument. Du kan præfikse det med @tabname =
, men dette er valgfrit.
Du har også mulighed for at angive en triggertype. Dette kan enten være INSERT
, DELETE
eller UPDATE
.
Eksempel 1 – Grundlæggende brug
Her er et simpelt eksempel at demonstrere.
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 | +-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+
I tilfælde af at du har problemer med at rulle sidelæns, her er resultatet igen ved at bruge lodret output:
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
Eksempel 2 – Angiv en type
I dette eksempel angiver jeg også typen.
EXEC sp_helptrigger 'dbo.t1', 'INSERT';
Resultat (ved hjælp af lodret output):
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
I dette tilfælde var der en trigger af den type.
Her bruger den igen en anden type.
EXEC sp_helptrigger 'dbo.t1', 'DELETE';
Resultat:
(0 rows affected)
I dette tilfælde var der ingen DELETE
udløsere på det bord.