W programie SQL Server można użyć procedury składowanej sp_helptrigger, aby zwrócić typ lub typy wyzwalaczy DML zdefiniowane w określonej tabeli dla bieżącej bazy danych.
Ta procedura składowana działa tylko z wyzwalaczami DML (nie z wyzwalaczami DDL).
Składnia
Oficjalna składnia wygląda następująco:
sp_helptrigger [ @tabname = ] 'table' [ , [ @triggertype = ] 'type' ]
Jako argument musisz podać nazwę tabeli. Możesz poprzedzić go przedrostkiem @tabname =
, ale jest to opcjonalne.
Masz również możliwość określenia typu wyzwalacza. Może to być INSERT
, DELETE
lub UPDATE
.
Przykład 1 – Podstawowe użycie
Oto prosty przykład do zademonstrowania.
EXEC sp_helptrigger 'dbo.t1';
Wynik:
+-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+ | trigger_name | trigger_owner | isupdate | isdelete | isinsert | isafter | isinsteadof | trigger_schema | |-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------| | t1_insert_trigger | dbo | 0 | 0 | 1 | 1 | 0 | dbo | +-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+
Jeśli masz problemy z przewijaniem na boki, oto wynik ponownie przy użyciu wyjścia pionowego:
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
Przykład 2 – Określ typ
W tym przykładzie określam również typ.
EXEC sp_helptrigger 'dbo.t1', 'INSERT';
Wynik (przy użyciu wyjścia pionowego):
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
W tym przypadku był wyzwalacz tego typu.
Tutaj znowu używa innego typu.
EXEC sp_helptrigger 'dbo.t1', 'DELETE';
Wynik:
(0 rows affected)
W tym przypadku nie było opcji DELETE
wyzwalacze na tym stole.