Eléments de modèle de trigger

Les éléments de modèle de trigger sont des blocs de script réutilisables nommés qui peuvent être insérés dans des triggers ou des modèles de trigger. Dans un script de trigger généré, un élément de modèle de trigger appelle une macro qui met en oeuvre une contrainte d'intégrité référentielle ou effectue toute autre opération de mise à jour dans les tables de la base de données.

Pour insérer un élément de modèle de trigger dans votre définition de trigger ou de modèle de trigger, cliquez sur l'outil Ajouter un élément à partir du MPD ou Ajouter un élément à partir du SGBD, sélectionnez les éléments dans la liste, puis cliquez sur OK. L'élément est inséré avec un point suivi de son nom, et est également ajouté dans la liste sur l'onglet Eléments de modèle. Par exemple, le script suivant contient deux éléments de modèle de trigger InsertChildParentExist et InsertTooManyChildren :

/*  Before insert trigger "%TRIGGER%" for table "[%QUALIFIER%]%TABLE%"  */
create trigger %TRIGGER% before insert order %ORDER% on [%QUALIFIER%]%TABLE%
referencing new as new_ins for each row
begin
  declare user_defined_exception exception for SQLSTATE '99999';
  declare found integer;
  .InsertChildParentExist
  .InsertTooManyChildren
end
/
Remarque : Certains SGBD requièrent qu'un curseur et des variables soient déclarés pour chaque élément de modèle de trigger avant que le nom d'élément de modèle ne soit utilisé dans le script. Vous pouvez utiliser le format suivant pour déclarer un élément de modèle :
.Declnom_élément_modèle
Par exemple la définition de trigger pour Oracle 8 déclare puis insère l'élément de modèle .InsertChildParentExist :
--  Before insert trigger "[%QUALIFIER%]%TRIGGER%" for table "[%QUALIFIER%]%TABLE%"
create trigger [%QUALIFIER%]%TRIGGER% before insert
on [%QUALIFIER%]%TABLE% for each row
declare
  integrity_error  exception;
  errno    integer;
  errmsg     char(200);
  dummy    integer;
  found    boolean;
  .DeclInsertChildParentExist
begin
  .InsertChildParentExist
--  Errors handling
exception
  when integrity_error then
   raise_application_error(errno, errmsg);
end;
/
Pour consulter ou modifier les éléments de modèle de trigger fournis, sélectionnez SGBD > Editer le SGBD courant, puis cliquez sur l'onglet Eléments de modèle de trigger. Vous ne pouvez ni supprimer ni renommer ces éléments.
Avertissement !  Les fichiers de ressource fournis avec PowerAMC dans le dossier Program Files ne peuvent pas être modifiés directement. Pour créer une copie à des fins d'édition, utilisez l'outil Nouveau dans la liste de fichiers de ressource, puis enregistrez-la à un autre emplacement. Pour inclure des fichiers de ressource provenant d'autres emplacements afin de les utiliser dans vos modèles, utilisez l'outil Chemin dans la liste des fichiers de ressource.
Pour créer un nouvel élément de modèle de trigger, cliquez sur l'outil Créer à partir d'un élément de modèle de trigger du SGBD (pour copier le code d'un élément existant dans votre nouvel élément) ou sur l'outil Ajouter une ligne (pour partir de zéro).
Remarque : Vous avez également la possibilité de créer des éléments de modèle de trigger dans votre modèle en sélectionnant Modèle > Triggers > Eléments de modèle de trigger, mais ces éléments ne seront pas accessibles aux autres modèles.

Propriétés d'un élément de modèle de trigger

L'onglet Général contient les propriétés suivantes :

Propriété

Description

Nom/Code/Commentaire

Identifient l'objet. Le nom doit permettre à des utilisateurs non spécialistes de savoir à quoi sert l'objet, tandis que le code, qui est utilisé afin de générer du code ou des scripts, peut être abrégé, et ne doit normalement contenir aucun espace. Vous pouvez également spécifier un commentaire afin de fournir des informations plus détaillées sur l'objet. Par défaut, le code est généré à partir du nom en appliquant les conventions de dénomination spécifiées dans les options du modèle. Pour supprimer la synchronisation du nom et du code, cliquez sur le bouton = en regard de la zone Code.

SGBD

Spécifie le SGBD parent.

Mots clés

Permet de grouper de façon informelle des objets. Pour saisir plusieurs mots clés, séparez-les de virgules.

Les onglets suivants sont également disponibles :
  • Définition - Contient une zone pour saisir le code de trigger pour l'élément. Vous pouvez utiliser des variables et macros de MPD et d'autres outils disponibles sur la barre d'outils (voir Rédaction de code SQL dans PowerAMC).
  • Déclaration - Contient une zone pour saisir la déclaration pour l'élément dans les scripts de trigger.