PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Trigger sur les fonctions de manipulation des tables
  • Variables permettant de gérer les triggers
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Ajoute ou modifie un trigger sur un fichier de données HFSQL. Un trigger est une procédure en WLangage appelée automatiquement par le moteur HFSQL à chaque exécution d'une fonction HFSQL. Pour plus de détails, consultez Gestion des triggers
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Exemple
// Dans le code d'initialisation du projet
LOCAL
ResultatTrigger est un booléen

// Création du Trigger pour tous les fichiers de l'analyse
ResultatTrigger = HDécritTrigger("*", "HAJOUTE,HMODIFIE," + ...
 "HSUPPRIME,HRAYE,HECRIT", "VerifDroitUtilisateur", hTriggerAvant)
// Avec "VerifDroitUtilisateur" une procédure globale du projet
SI ResultatTrigger = Faux ALORS
 Erreur("Erreur sur un trigger : " + HErreurInfo)
 RETOUR
FIN
Syntaxe
<Résultat> = HDécritTrigger(<Liste de fichiers HFSQL> , <Liste de fonctions HFSQL> , <Nom de la procédure> , <Type du trigger>)
<Résultat> : Booléen
  • Vrai si l'opération a été réalisée,
  • Faux en cas de problème. La fonction HErreurInfo permet d'identifier l'erreur.
<Liste de fichiers HFSQL> : Chaîne de caractères (avec guillemets)
Nom logique d'un ou de plusieurs fichiers de données HFSQL.
Pour indiquer plusieurs noms de fichiers de données, séparez les noms des fichiers de données par une virgule (",").
Pour utiliser tous les fichiers de données de l'analyse, ce paramètre doit être égal à "*".
<Liste de fonctions HFSQL> : Chaîne de caractères (avec guillemets)
Nom d'une ou de plusieurs fonctions HFSQL ou TableXXX sur lesquelles le trigger doit être mis en place. Pour indiquer plusieurs noms de fonctions, il faut séparer les noms des fonctions par une virgule (","). Il est possible de définir des triggers sur les fonctions suivantes :
<Nom de la procédure> : Chaîne de caractères
Nom de la procédure WLangage à exécuter lors du déclenchement du trigger sur la/les fonctions HFSQL spécifiées.
<Type du trigger> : Constante de type Entier
Indique le type du trigger.
hTriggerAvantLa procédure est exécutée avant la fonction HFSQL.
hTriggerAprèsLa procédure est exécutée après la fonction HFSQL.
Remarques

Trigger sur les fonctions de manipulation des tables

Les fonctions de manipulation des tables (TableAjoute, TableAjouteLigne, TableSupprime, TableModifie, ... ) utilisent implicitement les fonctions HFSQL suivantes : HAjoute, HSupprime et HModifie.
Lors de l'utilisation d'une de ces fonctions de manipulation de table, si un trigger est défini pour la fonction HFSQL correspondante, le trigger est automatiquement déclenché.

Variables permettant de gérer les triggers

Une procédure de type trigger ne reçoit aucun paramètre. Toutefois, un certain nombre de variables d'état HFSQL sont positionnées avant chaque appel :
H.NomFichierChaîne de caractères : Nom logique du fichier de données dont le trigger est activé
H.ActionCaractère initialisé à "A" pour un trigger Avant, "P" pour un trigger après.
H.FonctionTriggerChaîne de caractères : Nom de la fonction HFSQL qui a déclenché le trigger
H.AFairePendant l'exécution d'un trigger avant :
  • annulation de l'exécution de la fonction HFSQL en cours en affectant "A" à la variable d'état HFSQL : H.AFaire = "A". Dans ce cas, l'action n'est pas effectuée et la fonction (HAjoute, HModifie, ...) renvoie Vrai (pas d'erreur).
  • annulation de l'exécution de la fonction HFSQL en cours en affectant "E" à la variable d'état HFSQL : H.AFaire = "E". Dans ce cas, l'action n'est pas effectuée et la fonction (HAjoute, HModifie, ...) renvoie Faux. Le message d'erreur est le suivant : "L'action sur le fichier XXX a été interrompue par le trigger".
Remarque : Dans le cas où un trigger "AVANT" et un trigger "APRÈS" sont associés à une fonction HFSQL, si le trigger "AVANT" annule l'exécution de la fonction HFSQL (en positionnant H.AFaire à "A") le trigger "APRÈS" n'est pas déclenché.
Composante : wd240hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire