Une règle de gestion de contrainte peut être utilisée pour gérer plusieurs contraintes sur les tables et les colonnes dans une base de données. Ce type de contrainte ne peut être utilisé que pour les SGBD qui la prennent en charge.
Lors de la génération, la variable %RULES% est évaluée afin de générer une contrainte unique dans le script SQL. Cette contrainte est une concaténation de tous les paramètres de contrôle définis dans l'onglet Contrôle de la feuille de propriétés d'une table et de toutes les règles de gestion de validation contenues dans l'onglet Aperçu de la feuille de propriétés d'une table.
Pour plus d'informations sur les paramètres de contrôle d'une table, voir Attribution d'un nom à une contrainte de table.
Si vous souhaitez définir des contraintes de contrôle distinctes sur les tables et les colonnes, vous devez définir des règles de gestion de contrainte et les attacher aux différents objets. Ce type de règle de gestion permet de générer plusieurs contraintes de contrôle sur un même objet dans la base de données.
Cette fonctionnalité n'est disponible que pour les SGBD qui prennent en charge les contraintes de contrôle multiples, et à condition que l'entrée EnableMultiCheck dans la catégorie General du SGBD soit définie avec la valeur Yes.
Pour plus d'informations sur les entrées de SGBD, voir le chapitre Guide de référence du fichier de ressource de SGBD dans le manuel Personnalisation et extension de PowerAMC.
Prenons l'exemple de la table Projet :
Les contrôles suivants sont définis pour cette table :
Contrôle |
Description |
---|---|
Paramètre de contrôle (dans l'onglet Contrôle de la feuille de propriétés de la table) |
Ce contrôle vérifie que le numéro de client est différent de celui de l'employé. |
Règle de gestion de validation |
NUM_PROJ pour vérifier que le numéro du projet n'est pas NULL. EMP_NUM pour vérifier que le numéro de salarié n'est pas NULL. |
Règle de gestion de contrainte |
COHERR_DATE pour vérifier que la date de fin du projet est postérieure à la date de début. |
Lorsque vous affichez l'aperçu du code de la table, vous pouvez vérifier que les paramètres de contrôle et que les règles de gestion de validation sont concaténées dans une seule et même contrainte, alors que la règle de gestion de contrainte apparaît comme une contrainte distincte dans le script.