sql >> Database >  >> RDS >> Sqlserver

Een lijst met triggergebeurtenissen retourneren in SQL Server

U kunt T-SQL gebruiken om een ​​lijst met triggergebeurtenissen in een database in SQL Server te retourneren.

U kunt dit doen met sys.trigger_events . Deze systeemcatalogusweergave retourneert een rij voor elke gebeurtenis of gebeurtenisgroep waarop een trigger kan worden geactiveerd.

Voorbeeld 1 – Basisgebruik

Hier is een voorbeeld om te demonstreren.

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

Resultaat:

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

In dit geval gebruik ik de OBJECT_NAME() functie om de naam van elke trigger te halen uit zijn object_id .

Voorbeeld 2 – Beperk het tot een specifieke trigger

Je kunt ook OBJECT_NAME() . gebruiken om de resultaten te filteren op een specifieke triggernaam met behulp van een WHERE clausule.

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

Resultaat:

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

Voorbeeld 3 – Alle kolommen retourneren

Dit voorbeeld retourneert alle kolommen uit deze weergave.

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

Resultaat (met verticale uitvoer):

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

In dit voorbeeld heb ik de resultaten gepresenteerd met behulp van verticale uitvoer, zodat u niet gedwongen horizontaal moet scrollen.

Alle typen triggergebeurtenissen ophalen

U kunt de catalogusweergave sys.trigger_event_types opvragen om een ​​lijst met alle typen triggergebeurtenissen te krijgen. Dit zijn de gebeurtenissen of gebeurtenisgroepen waarop een trigger kan worden geactiveerd.

U kunt ook een query uitvoeren waarin ze hiërarchisch worden weergegeven.


  1. Hoe te controleren of de cursor records in orakel retourneert?

  2. Toegang geweigerd voor gebruiker 'root'@'localhost' tijdens een poging om privileges te verlenen. Hoe verleen ik privileges?

  3. Ontvang de laatste dag van de maand in PostgreSQL

  4. Wat is DBMS? – Een uitgebreide gids voor databasebeheersystemen