DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Gestion de l'intégrité activée
  • Désactiver les règles d'intégrité
  • En mode HFSQL Client/Serveur
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Active ou désactive la gestion d'une contrainte d'intégrité sur une liaison d'une table.
Remarque: Par défaut, toutes les règles d'intégrité définies dans la description du schéma des données sont actives.
Exemple
// Désactiver le test des cardinalités sur la liaison entre une commande et un client
HGèreIntégrité(ClientCommande, hCardinalité, Faux)
// Désactiver les règles d'intégrité sur toutes les tables de l'application
HGèreIntégrité("*", "*", hCardinalité + hEnModification + hEnSuppression, Faux)
// équivalent à: hGèreIntégrité(Faux)
// Désactiver les règles d'intégrité sur la liaison entre une commande et un client
// avec utilisation d'une connexion
CxFichierSource est une Connexion
CxFichierRelié est une Connexion

HGèreIntégrité(CxFichierSource, CxFichierRelié, ClientCommande, ... 
	hCardinalité + hEnModification + hEnSuppression, Faux)
Syntaxe

Activer ou désactiver la gestion d'une contrainte d'intégrité en spécifiant le nom de la table Masquer les détails

<Résultat> = HGèreIntégrité([<Liaison à manipuler>] [, <Table>] [, <Contrainte d'intégrité>] , <Mode de gestion>)
<Résultat> : Booléen
Ancienne gestion de l'intégrité (avant utilisation de la fonction HGèreIntégrité):
  • Vrai si la gestion de l'intégrité était active,
  • Faux si la gestion de l'intégrité était inactive.
Si <Liaison à manipuler> = "*" ou si <Fichier de données> = "*" , <Résultat> est à Vrai si dans l'ancien mode de gestion de l'intégrité, l'intégrité était activée sur au moins une liaison ou au moins un fichier de données.
<Liaison à manipuler> : Chaîne de caractères optionnelle
Nom de la liaison concernée (nom composé des différentes tables participant à la liaison).
Si ce nom n'est pas spécifié ou est égal à "*", la nouvelle gestion de l'intégrité s'applique à toutes les liaisons définies dans le schéma des données.
<Table> : Chaîne de caractères optionnelle
Nom de la table manipulée.
Si ce nom n'est pas spécifié ou est égal à "*", la nouvelle gestion spécifiée s'applique à toutes les tables intervenant dans la liaison (y compris les alias).
Si le paramètre <Liaison à manipuler> correspond à "*", ce paramètre doit également correspondre à "*". En effet, il n'est pas possible d'activer ou de désactiver l'ensemble des contraintes d'intégrité de toutes les liaisons d'une table spécifique.
<Contrainte d'intégrité> : Constante ou combinaison de constantes optionnelle de type Entier
Permet de déterminer les contraintes d'intégrité à gérer. Si ce paramètre n'est pas spécifié, la nouvelle gestion s'applique à toutes les contraintes de la liaison.
hCardinalitéTest des cardinalités de la liaison.
hEnModificationRègle d'intégrité appliquée pendant une modification.
hEnSuppressionRègle d'intégrité appliquée pendant une suppression.
<Mode de gestion> : Booléen
  • Vrai si la contrainte d'intégrité est activée,
  • Faux si cette gestion doit être désactivée. Si seul ce paramètre est précisé, le mode de gestion spécifié s'applique à toutes les tables.

Activer ou désactiver la gestion d'une contrainte d'intégrité en spécifiant la connexion de la table Masquer les détails

<Résultat> = HGèreIntégrité(<Connexion table source> [, <Connexion table reliée>] , <Description de la liaison> [, <Contrainte d'intégrité>] , <Mode de gestion>)
<Résultat> : Booléen
Ancienne gestion de l'intégrité (avant utilisation de la fonction HGèreIntégrité):
  • Vrai si la gestion de l'intégrité était active,
  • Faux si la gestion de l'intégrité était inactive.
<Connexion table source> : Chaîne de caractères ou variable de type Connexion
Connexion à laquelle appartient la table source de la liaison. Cette connexion correspond:
<Connexion table reliée> : Chaîne de caractères optionnelle ou variable de type Connexion
Connexion à laquelle appartient la table reliée de la liaison. Cette connexion correspond: Si ce paramètre n'est pas précisé, les deux tables appartiennent alors à la même connexion (paramètre <Connexion table source>).
<Description de la liaison> : Variable de type Description de liaison
Nom de la variable de type Description de liaison contenant les caractéristiques de la liaison.
<Contrainte d'intégrité> : Constante ou combinaison de constantes optionnelle de type Entier
Contraintes d'intégrité à gérer. Si ce paramètre n'est pas spécifié, la nouvelle gestion s'applique à toutes les contraintes de la liaison.
hCardinalitéTest des cardinalités de la liaison.
hEnModificationRègle d'intégrité appliquée pendant une modification.
hEnSuppressionRègle d'intégrité appliquée pendant une suppression.
<Mode de gestion> : Booléen
  • Vrai si la contrainte d'intégrité est activée,
  • Faux si cette gestion doit être désactivée. Si seul ce paramètre est précisé, le mode de gestion spécifié s'applique à toutes les tables.
Remarques

Gestion de l'intégrité activée

Si une opération sur une table entraîne la violation d'une contrainte d'intégrité sur une règle active, l'opération n'est pas effectuée et provoque l'erreur de la fonction. La fonction HErreurIntégrité renvoie alors Vrai.
Remarque: Seules les fonctions HAjoute, HModifie, HSupprime, HRaye et HEcrit peuvent générer une erreur d'intégrité.

Désactiver les règles d'intégrité

Désactiver une règle d'intégrité implique la possibilité de violer les contraintes énoncées lors de la description des tables dans l'éditeur de schémas des données. Désactiver une règle d'intégrité n'est donc pas une opération insignifiante: elle doit être utilisée à bon escient.
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidWidget AndroidiPhone/iPadJavaHFSQL Client/Serveur

En mode HFSQL Client/Serveur

L'utilisation de la syntaxe HGèreIntégrité(<Gestion>) influe sur le comportement de tous les serveurs HFSQL (que l'ouverture de la connexion soit antérieure ou postérieure à l'appel de la fonction HGèreIntégrité).
L'utilisation de la fonction HGèreIntégrité en précisant le nom de la liaison n'est possible que si:
  • La liaison est décrite dans le schéma des données du client (ou par la fonction HDécritLiaison).
  • Les deux tables reliées par cette liaison sont situées sur le même serveur HFSQL.
Si l'appel à la fonction HGèreIntégrité est effectuée avant que les tables soient en mode Client/Serveur (par exemple, si la fonction HChangeConnexion est utilisée), le serveur active la règle d'intégrité.
Un droit est associé à la gestion de l'intégrité sur la base de données: hDroitGèreIntégrité. Une erreur de droit apparaît lorsque l'utilisateur tente de violer la contrainte d'intégrité (par exemple lors de l'utilisation des fonctions HAjoute, HModifie, ...).
Composante: wd300hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 27/03/2025

Signaler une erreur ou faire une suggestion | Aide en ligne locale