Chapter 6 Construction de triggers et procédures


Eléments de modèle de trigger prédéfinis de PowerAMC

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.

Contraintes pour l'insertion

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

Contraintes pour la modification

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

Contraintes pour la suppression

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

Messages de contrainte

Vous pouvez insérer les éléments de modèle suivants dans tous les modèles de trigger. Ils permettent de générer des messages indiquant le non-respect d'une contrainte d'intégrité.

Elément Description
UseErrorMsgText Gestion d'erreurs sans table de messages
UseErrorMsgTable Gestion d'erreurs avec table de messages

 


Copyright (C) 2008. Sybase Inc. All rights reserved.