Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Върнете типа на DML тригер на таблица в SQL Server

В 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 тригери на тази маса.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CONVERT() в SQL Server

  2. Как да намерите всички зависимости на таблица в sql сървър

  3. Как мога да ИЗБЕРЕМ множество колони в рамките на CASE WHEN на SQL Server?

  4. Как да коригирате:JSON_VALUE връща NULL с дълги низове (SQL сървър)

  5. Как да приложите условно форматиране към число в SQL Server с помощта на FORMAT()