Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak zwrócić listę zdarzeń wyzwalających w SQL Server

Możesz użyć T-SQL, aby zwrócić listę zdarzeń wyzwalających w bazie danych w SQL Server.

Możesz to zrobić za pomocą sys.trigger_events . Ten widok katalogu systemowego zwraca wiersz dla każdego zdarzenia lub grupy zdarzeń, w których może zostać uruchomiony wyzwalacz.

Przykład 1 – Podstawowe użycie

Oto przykład do zademonstrowania.

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

Wynik:

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

W tym przypadku używam OBJECT_NAME() funkcja, aby pobrać nazwę każdego wyzwalacza z jego object_id .

Przykład 2 – zawęź do konkretnego wyzwalacza

Możesz także użyć OBJECT_NAME() aby filtrować wyniki do określonej nazwy wyzwalacza za pomocą WHERE klauzula.

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

Wynik:

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

Przykład 3 – Zwróć wszystkie kolumny

Ten przykład zwraca wszystkie kolumny z tego widoku.

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

Wynik (przy użyciu wyjścia pionowego):

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

W tym przykładzie przedstawiłem wyniki przy użyciu danych wyjściowych w pionie, aby nie trzeba było wymuszać przewijania w poziomie.

Pobieranie wszystkich typów zdarzeń wyzwalających

Możesz wysłać zapytanie do widoku wykazu sys.trigger_event_types, aby uzyskać listę wszystkich typów zdarzeń wyzwalacza. Są to zdarzenia lub grupy zdarzeń, w których może zostać uruchomiony wyzwalacz.

Możesz także uruchomić zapytanie, które wyświetli je hierarchicznie.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak połączyć się z bazą danych serwera SQL z aplikacji Windows 10 UWP

  2. Jak mogę uzyskać sumę wielu wartości daty i godziny?

  3. SQL Server Error 111:„… musi być pierwszą instrukcją w partii kwerendy”

  4. Jak działa funkcja RIGHT() w SQL Server (T-SQL)

  5. SQL Server Zmień lokalizację pliku TempDB