L’espace des noms DDL_TRIGGER
Pendant que le déclencheur DDL est en cours d’exécution, l’espace de noms DL_TRIGGER
est disponible pour être utilisé dans la fonction RDB$GET_CONTEXT
.Son utilisation est également autorisée dans les procédures stockées et les fonctions appelées par des déclencheurs DDL.
Le contexte DDL_TRIGGER
agit comme une pile.Avant de déclencher un déclencheur DDL, les valeurs liées à la commande en cours d’exécution sont placées sur cette pile.Lorsque le déclenchement est terminé, les valeurs sont éjectées.Ainsi.Dans le cas d’instructions DDL en cascade, lorsque chaque commande DDL utilisateur déclenche un déclencheur DDL, et que ce déclencheur 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 déclencheur DDL dans la pile d’appels.
Variables disponibles dans l’espace de noms DDL_TRIGGER
-
EVENT_TYPE
- type d’événement (CREATE, ALTER, DROP) -
OBJECT_TYPE
- type d’objet (TABLE, VIEW etc.) -
DDL_EVENT
- nom de l’événement (<ddl event item>
),où
<ddl event item>
=EVENT_TYPE || '' || OBJECT_TYPE
-
OBJECT_NAME
- nom de l’objet de métadonnées -
OLD_OBJECT_NAME
- nom de l’objet de métadonnées avant le renommage. -
NEW_OBJECT_NAME
- nom de l’objet de métadonnées après le renommage. -
SQL_TEXT
- texte de la requête SQL