PowerAMC fournit des éléments de modèle de trigger prédéfinis pour les modèles de triggers définis dans chaque SGBD. La fonctionnalité Régénération des triggers utilise à la fois les modèles de trigger prédéfinis et ceux 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. L'élément est disponible pour la génération s'il est présent dans l'onglet Eléments de modèle d'une feuille de propriétés de trigger et sera généré s'il est présent dans l'onglet Eléments de modèle d'une feuille de propriétés d'un modèle de trigger.
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 |