FirebirdSQL logo

RDB$TRIGGER_MESSAGES

Messages des déclencheurs.

Table 1. Description des colonnes de la table RDB$TRIGGER_MESSAGES
Nom de la colonne Type de données Description

RDB$TRIGGER_NAME

CHAR(63)

Le nom du déclencheur auquel ce message est lié.

RDB$MESSAGE_NUMBER

SMALLINT

Numéro de message dans un déclencheur (1 à 32767).

RDB$MESSAGE

VARCHAR(1023)

Texte du message de déclenchement.

RDB$TRIGGERS

Descriptions des déclencheurs.

Table 1. Description des colonnes de la table RDB$TRIGGERS
Nom de la colonne Type de données Description

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 INESRT ;

  • 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.