RDB$TRIGGERS

Descriptions des déclencheurs.

Table 1. Description des colonnes de la table RDB$TRIGGERS
Nom de la colonneType de donnéesDescription

RDB$TRIGGER_NAME

CHAR(63)

Nom du déclencheur.

RDB$RELATION_NAME

CHAR(63)

Nom de la table ou de la vue pour laquelle le déclencheur est utilisé. Si le déclencheur est appliqué à un événement de base de données plutôt qu'à un événement de table, ce champ contient NULL.

RDB$TRIGGER_SEQUENCE

SMALLINT

La séquence (position) du déclencheur. Zéro signifie généralement qu'aucune séquence n'est définie.

RDB$TRIGGER_TYPE

BIGINT

L'événement auquel le déclencheur est appelé :

  • 1 AVANT INSERT ;

  • 2 AVANT L'INSERTION ;

  • 3 AVANT MISE À JOUR ;

  • 4 AVANT LA MISE À JOUR ;

  • 5 AVANT LA SUPPRESSION ;

  • 6 APRÈS LA SUPPRESSION ;

  • 17 AVANT L'INSERTION OU LA MISE À JOUR ;

  • 18 AFTER INSERT OR UPDATE ;

  • 25 AVANT L'INSERTION OU LA SUPPRESSION ;

  • 26 APRÈS INSERTION OU SUPPRESSION ;

  • 27 AVANT LA MISE À JOUR OU LA SUPPRESSION ;

  • 28 APRÈS MISE À JOUR OU SUPPRESSION ;

  • 113 AVANT L'INSERTION OU LA MISE À JOUR OU LA SUPPRESSION ;

  • 114 AVANT L'INSERTION OU LA MISE À JOUR OU LA SUPPRESSION ;

  • 8192 ON CONNECT ;

  • 8193 ON DISCONNECT ;

  • 8194 SUR LE DÉBUT DE LA TRANSACTION ;

  • 8195 ON TRANSACTION COMMIT ;

  • 8196 ON TRANSACTION ROLLBACK.

Voir ci-dessous pour une description des événements déclencheurs DDL.

RDB$TRIGGER_SOURCE

BLOB TEXT

Stocke le code source du déclencheur dans PSQL.

RDB$TRIGGER_BLR

BLOB BLR

Stocke le déclencheur en code binaire BLR.

RDB$DESCRIPTION

BLOB TEXT

Texte / note sur le déclencheur.

RDB$TRIGGER_INACTIVE

SMALLINT

Indique si le déclencheur est actuellement inactif (1) ou actif (0).

RDB$SYSTEM_FLAG

SMALLINT

Flag Le déclencheur est défini par l'utilisateur (0) ou par le système (1 ou plus).

RDB$FLAGS

SMALLINT

Usage interne.

RDB$VALID_BLR

SMALLINT

Indique si le texte du déclencheur reste correct après la dernière modification du déclencheur à l'aide de l'opérateur ALTER TRIGGER.

RDB$DEBUG_INFO

BLOB

Contient des informations de débogage sur les variables utilisées dans le déclencheur.

RDB$ENGINE_NAME

CHAR(63)

Nom du moteur pour l'utilisation des déclencheurs externes. Habituellement UDR.

RDB$ENTRYPOINT

CHAR(255)

Le nom du point d'entrée dans la bibliothèque où se trouve ce déclencheur.

RDB$SQL_SECURITY

BOOLEAN

Avec quels droits le déclencheur est exécuté :

  • TRUE avec les droits de l'utilisateur définissant (SQL SECURITY DEFINER) ;

  • FALSE avec les droits de l'utilisateur appelant (SQL SECURITY INVOKER) ;

  • NULL les privilèges d'exécution sont hérités de la table.

Pour les déclencheurs DDL, le type de déclencheur (RDB$TRIGGER_TYPE) est obtenu par un OU bit à bit sur la phase de l'événement (0 - BEFORE, 1 - AFTER) et tous les types d'événements listés :

  • CREATE TABLE 0x0000000000004002;

  • ALTER TABLE 0x0000000000004004;

  • DROP TABLE 0x0000000000004008;

  • CREATE PROCEDURE 0x0000000000004010;

  • ALTER PROCEDURE 0x0000000000004020;

  • DROP PROCEDURE 0x0000000000004040;

  • CREATE FUNCTION 0x0000000000004080;

  • ALTER FUNCTION 0x0000000000004100;

  • DROP FUNCTION 0x0000000000004200;

  • CREATE TRIGGER 0x0000000000004400;

  • ALTER TRIGGER 0x0000000000004800;

  • DROP TRIGGER 0x0000000000005000;

  • CREATE EXCEPTION 0x0000000000014000;

  • ALTER EXCEPTION 0x0000000000024000;

  • DROP EXCEPTION 0x0000000000044000;

  • CREATE VIEW 0x0000000000084000;

  • ALTER VIEW 0x0000000000104000;

  • DROP VIEW 0x0000000000204000;

  • CREATE DOMAIN 0x0000000000404000;

  • ALTER DOMAIN 0x0000000000804000;

  • DROP DOMAIN 0x0000000001004000;

  • CREATE ROLE 0x0000000002004000;

  • ALTER ROLE 0x0000000004004000;

  • DROP ROLE 0x0000000008004000;

  • CREATE INDEX 0x0000000010004000;

  • ALTER INDEX 0x0000000020004000;

  • DROP INDEX 0x0000000040004000;

  • CREATE SEQUENCE 0x0000000080004000;

  • ALTER SEQUENCE 0x0000000100004000;

  • DROP SEQUENCE 0x0000000200004000;

  • CREATE USER 0x0000000400004000;

  • ALTER USER 0x0000000800004000;

  • DROP USER 0x0000001000004000;

  • CREATE COLLATION 0x0000002000004000;

  • DROP COLLATION 0x0000004000004000;

  • ALTER CHARACTER SET 0x0000008000004000;

  • CREATE PACKAGE 0x0000010000004000;

  • ALTER PACKAGE 0x0000020000004000;

  • DROP PACKAGE 0x0000040000004000;

  • CREATE PACKAGE BODY 0x0000080000004000;

  • DROP PACKAGE BODY 0x0000100000004000;

  • CREATE MAPPING 0x0000200000004000;

  • ALTER MAPPING 0x0000400000004000;

  • DROP MAPPING 0x0000800000004000;

  • ANY DDL STATEMENT 0x7FFFFFFFFFFFDFFE.

Par exemple, le déclencheur

  • BEFORE CREATE PROCEDURE OR CREATE FUNCTION sera du type 0x0000000000004090,

  • AFTER CREATE PROCEDURE OR CREATE FUNCTION 0x0000000000004091,

  • BEFORE DROP FUNCTION OR DROP EXCEPTION 0x00000000000044200,

  • AFTER DROP FUNCTION OR DROP EXCEPTION 0x00000000000044201,

  • BEFORE DROP TRIGGER OR DROP DOMAIN 0x00000000001005000,

  • AFTER DROP TRIGGER OR DROP DOMAIN 0x00000000001005001.