Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Renvoyer une liste de déclencheurs dans SQL Server

Vous pouvez utiliser le sys.triggers vue catalogue pour renvoyer une liste de déclencheurs dans une base de données dans SQL Server.

Cette vue contient une ligne pour chaque objet qui est un déclencheur, avec un type TR ou TA.

Exemple

Voici un exemple d'interrogation de sys.triggers :

SELECT * FROM sys.triggers;

Résultat (en utilisant la sortie verticale) :

-[ RECORD 1 ]-------------------------
name                   | trg_Books_UpdateModifiedDate
object_id              | 1669580986
parent_class           | 1
parent_class_desc      | OBJECT_OR_COLUMN
parent_id              | 1605580758
type                   | TR
type_desc              | SQL_TRIGGER
create_date            | 2020-08-16 00:35:09.880
modify_date            | 2020-08-16 00:35:09.880
is_ms_shipped          | 0
is_disabled            | 0
is_not_for_replication | 0
is_instead_of_trigger  | 0
(1 row affected)

J'ai utilisé la sortie verticale dans cet exemple pour que vous n'ayez pas à faire défiler latéralement.

Dans mon cas, je n'ai qu'un seul déclencheur dans cette base de données.

Si je passe à une autre base de données, j'obtiens les déclencheurs dans cette base de données. Si la base de données ne contient aucun déclencheur, je n'obtiens aucun résultat.

USE WideWorldImporters;
SELECT * FROM sys.triggers;

Résultat :

Commands completed successfully.
(0 rows affected)

Déclencheurs de serveur

Si vous devez renvoyer une liste de déclencheurs de serveur, utilisez sys.server_triggers au lieu de sys.triggers .

Cette vue renvoie tous les déclencheurs DDL au niveau du serveur avec object_type TR ou TA.