SQL Serverでは、sp_helptriggerストアドプロシージャを使用して、現在のデータベースの指定されたテーブルで定義されている1つまたは複数の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
はありませんでした そのテーブルでトリガーします。