sql >> Databáze >  >> RDS >> Sqlserver

Jak vrátit seznam spouštěcích událostí na serveru SQL Server

Pomocí T-SQL můžete vrátit seznam spouštěcích událostí v databázi na serveru SQL Server.

Můžete to udělat pomocí sys.trigger_events . Toto zobrazení systémového katalogu vrací řádek pro každou událost nebo skupinu událostí, u kterých se může spustit spouštěč.

Příklad 1 – Základní použití

Zde je příklad k demonstraci.

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

Výsledek:

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

V tomto případě používám OBJECT_NAME() k získání názvu každého spouštěče z jeho object_id .

Příklad 2 – Zúžení na konkrétní spouštěč

Můžete také použít OBJECT_NAME() pro filtrování výsledků na konkrétní název spouštěče pomocí WHERE doložka.

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

Výsledek:

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

Příklad 3 – Vrátit všechny sloupce

Tento příklad vrátí všechny sloupce z tohoto zobrazení.

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

Výsledek (při použití vertikálního výstupu):

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

V tomto příkladu jsem prezentoval výsledky pomocí vertikálního výstupu, abyste nebyli nuceni posouvat horizontálně.

Získání všech typů událostí spouštěče

Seznam všech typů událostí spouštěče můžete získat dotazem na zobrazení katalogu sys.trigger_event_types. Toto jsou události nebo skupiny událostí, u kterých se může spustit spouštěč.

Můžete také spustit dotaz, který je hierarchicky vypíše.


  1. Kurz biometrického ověřování USB otisku prstu pro Android

  2. Jak změnit sloupec a změnit výchozí hodnotu?

  3. Importujte soubor SQL do mysql

  4. Oprava Msg 8117 „Datový typ operandu varchar je neplatný pro operátor součtu“ v SQL Server