PowerAMC est fourni avec des éléments de modèle de trigger prédéfinis pour chaque modèle de trigger prédéfini dans le SGBD pris en charge. La fonctionnalité de régénération des triggers utilise à la fois les modèles de trigger prédéfinis et définis par l'utilisateur pour créer automatiquement des triggers pour les tables sélectionnées.
Dans les modèles de trigger prédéfinis, chaque élément de modèle de trigger prédéfini correspond à une contrainte d'intégrité référentielle. Bien qu'un élément de modèle de trigger prédéfini soit défini dans un modèle de trigger, il n'est généré dans un script de trigger que s'il met en oeuvre l'intégrité référentielle de type trigger définie pour une référence.
Les conditions de génération pour les éléments de modèle de trigger sont les suivantes :
Elément répertorié dans... |
Elément... |
---|---|
Page Eléments de modèle de la feuille de propriétés d'un trigger |
Disponible pour la génération |
Page Eléments de modèle de la feuille de propriétés d'un modèle de trigger |
Généré |
Vous pouvez modifier le code des éléments de modèles de trigger prédéfinis, mais vous ne pouvez ni les renommer, ni les supprimer.
Les éléments de modèle de trigger qui sont disponibles varient en fonction du SGBD courant.
Les éléments de modèle de trigger suivants mettent en oeuvre l'intégrité référentielle dans les modèles de trigger d'insertion.
Elément de modèle |
Contrainte d'intégrité |
Description |
---|---|---|
DeclInsertChildParentExist InsertChildParentExist |
Parent obligatoire |
Interdit l'insertion d'un enfant si le parent correspondant n'existe pas |
DeclInsertTooManyChildren InsertTooManyChildren |
Ne peut dépasser la contrainte de cardinalité maximale |
Interdit l'insertion d'un enfant si la cardinalité maximale a été atteinte |
DeclInsertSequenceColumn InsertSequenceColumn |
Sélectionne une valeur dans la liste de séquence pour la colonne |
Sélectionne une valeur pour la colonne dans la liste de séquence |
Les éléments de modèle de trigger suivants mettent en oeuvre l'intégrité référentielle dans les modèles de trigger de modification.
Elément de modèle |
Contrainte d'intégrité |
Description |
---|---|---|
DeclUpdateChildParentExist UpdateChildParentExist |
Parent obligatoire |
Interdit la modification d'un enfant si le parent correspondant n'existe pas |
DeclUpdateChildChangeParent UpdateChildChangeParent |
Changement de parent non autorisé |
Interdit la modification du code du parent dans l'enfant |
DeclUpdateParentRestrict UpdateParentRestrict |
Restriction sur la mise à jour |
Interdit la modification du parent s'il existe un enfant correspondant |
DeclUpdateParentCascade UpdateParentCascade |
Modification en cascade |
Modifie le code du parent dans tous les enfants |
DeclUpdateChangeColumn UpdateChangeColumn |
Colonne non modifiable |
Interdit la modification de la colonne |
DeclUpdateParentSetNull UpdateParentSetNull |
Définition de la valeur NULL pour la mise à jour |
Attribue la valeur NULL au code du parent dans tous les enfants |
DeclUpdateParentSetDefault UpdateParentSetDefault |
Définition de la valeur par défaut pour la mise à jour |
Attribue la valeur par défaut au code du parent dans tous les enfants |
DeclUpdateTooManyChildren UpdateTooManyChildren |
Ne peut dépasser la contrainte de cardinalité maximale |
Interdit la modification d'un enfant si la cardinalité maximale a été atteinte |
Les éléments de modèle de trigger suivants mettent en oeuvre l'intégrité référentielle dans les modèles de trigger d'insertion.
Elément de modèle |
Contrainte d'intégrité |
Description |
---|---|---|
DeclDeleteParentRestrict DeleteParentRestrict |
Restriction sur la suppression |
Interdit la suppression du parent s'il existe un enfant correspondant |
DeclDeleteParentCascade DeleteParentCascade |
Suppression en cascade |
Supprime le code du parent dans tous les enfants |
DeclDeleteParentSetNull DeleteParentSetNull |
Définition de la valeur NULL pour la suppression |
Définition de la valeur NULL pour la suppression |
DeclDeleteParentSetDefault DeleteParentSetDefault |
Définition de la valeur par défaut pour la suppression |
Toute suppression dans le parent provoque l'attribution d'une valeur NULL à l'enfant |