FirebirdSQL logo

Espace de nommage`DDL_TRIGGER`

L’utilisation de l’espace de nom DDL_TRIGGER n’est autorisée que pendant l’exécution du déclencheur DDL. Son utilisation est également autorisée dans les procédures stockées et les fonctions appelées par les déclencheurs DDL.

Le contexte DDL_TRIGGER fonctionne comme une pile. Avant que le trigger DDL ne soit déclenché, les valeurs liées à la commande en cours d’exécution sont placées sur cette pile. Lorsque le trigger est terminé, les valeurs sont éjectées.Ainsi, dans le cas d’instructions DDL en cascade, lorsque chaque commande DDL utilisateur déclenche un trigger DDL et que ce trigger déclenche d’autres commandes DDL, avec EXECUTE STATEMENT, les valeurs des variables dans l’espace de noms DDL_TRIGGER correspondront à la commande qui a déclenché le dernier trigger DDL dans la pile d’appels.

Variables de l’espace de nommage DDL_TRIGGER
EVENT_TYPE

type d’événement (CREATE, ALTER, DROP).

OBJECT_TYPE

type d’objet (TABLE, VIEW et al.).

DDL_EVENT

(<ddl event item>), où <ddl_event_item> c’est EVENT_TYPE || ' ' || OBJECT_TYPE

OBJECT_NAME

le nom de l’objet de métadonnées.

OLD_OBJECT_NAME

le nom de l’objet de métadonnées avant son renommage.

NEW_OBJECT_NAME

le nom de l’objet de métadonnées après renommage.

SQL_TEXT

le texte de la requête SQL.

Note

Une fois de plus, notez que les noms d’espaces de noms et de variables sont sensibles à la casse, doivent être des chaînes de caractères non vides, et sont entourés de guillemets !

Exemples

Example 1. Utilisation de la fonction RDB$GET_CONTEXT
NEW.USER_ADR = RDB$GET_CONTEXT ('SYSTEM', 'CLIENT_ADDRESS');
Voir aussi :

RDB$SET_CONTEXT.