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

Как да върнете списък с тригерни събития в SQL Server

Можете да използвате T-SQL, за да върнете списък с тригерни събития в база данни в SQL Server.

Можете да направите това с помощта на sys.trigger_events . Този изглед на системния каталог връща ред за всяко събитие или група събития, за които може да се задейства тригер.

Пример 1 – Основна употреба

Ето пример за демонстрация.

USE Test;
SELECT 
  object_id,
  OBJECT_NAME(object_id) AS [Trigger Name],
  type_desc
FROM sys.trigger_events;

Резултат:

+-------------+-------------------+-------------+
| object_id   | Trigger Name      | type_desc   |
|-------------+-------------------+-------------|
| 286624064   | t1_insert_trigger | INSERT      |
| 2034106287  | t6ins             | INSERT      |
+-------------+-------------------+-------------+

В този случай използвам OBJECT_NAME() функция за получаване на името на всеки тригер от неговия object_id .

Пример 2 – Стеснете го до специфичен тригер

Можете също да използвате OBJECT_NAME() за филтриране на резултатите до конкретно име на задействане с помощта на WHERE клауза.

SELECT 
  object_id,
  OBJECT_NAME(object_id) AS [Trigger Name],
  type_desc
FROM sys.trigger_events
WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';

Резултат:

+-------------+-------------------+-------------+
| object_id   | Trigger Name      | type_desc   |
|-------------+-------------------+-------------|
| 286624064   | t1_insert_trigger | INSERT      |
+-------------+-------------------+-------------+

Пример 3 – Връщане на всички колони

Този пример връща всички колони от този изглед.

SELECT * 
FROM sys.trigger_events
WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';

Резултат (с помощта на вертикален изход):

object_id             | 286624064
type                  | 1
type_desc             | INSERT
is_first              | 0
is_last               | 0
event_group_type      | NULL
event_group_type_desc | NULL
is_trigger_event      | 1

В този пример представих резултатите, използвайки вертикален изход, така че да не бъдете принудени да превъртате хоризонтално.

Получаване на всички типове задействащи събития

Можете да потърсите каталожния изглед sys.trigger_event_types, за да получите списък с всички типове задействащи събития. Това са събитията или групите от събития, за които може да се задейства тригер.

Можете също да изпълните заявка, която ги изброява йерархично.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Архивно шифроване на база данни на SQL Server

  2. Как да добавите номера на редове в SQL Server Management Studio (SSMS) - SQL Server / TSQL урок, част 11

  3. Вземете началната и крайната дата на седмицата от номера на седмицата

  4. Как да заменя няколко знака в SQL?

  5. Въведение в защитата на ниво ред в SQL Server