PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Triggers de même type
  • Trigger sur les fonctions de manipulation des champs Table
  • Variables permettant de gérer les triggers
Produits
WINDEVWEBDEV - Code ServeurWEBDEV - Code NavigateurWINDEV MobileEtats et Requêtes
Plateformes
WindowsLinuxWindows MobileUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadApple Watch
Langages
JavaPHPAjaxCode Utilisateur (MCU)Langage Externe
Bases de données
HFSQLHFSQL Client/ServeurProcédures stockéesOLE DBODBCAccès Natifs
HDécritTriggerServeur (Fonction)
En anglais : HDescribeServerTrigger
Ajoute ou modifie un trigger serveur. Un trigger serveur est une procédure stockée appelée automatiquement par le moteur HFSQL à chaque exécution d'une fonction HFSQL.
Remarque : Les fonctions de manipulation des triggers serveur sont des fonctions avancées. Les triggers serveur peuvent être créés directement dans l'éditeur d'analyses. Pour plus de détails, consultez Triggers serveur.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Versions 22 et supérieures
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
WINDEVJava Cette fonction est désormais disponible pour les applications Java.
Nouveauté 22
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
WINDEVJava Cette fonction est désormais disponible pour les applications Java.
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
WINDEVJava Cette fonction est désormais disponible pour les applications Java.
Exemple
// Création d'un fichier de données
SI HCréation(Cedex) = Faux ALORS
Erreur(HErreurInfo())
SINON
Info("Fichier créé")
FIN

// Changement de répertoire du fichier
SI HChangeRep(Cedex, ".\FRANCE\") = Faux ALORS Erreur(HErreurInfo())

// Création d'un trigger sur un fichier de données HFSQL Client/Serveur
SI HDécritTriggerServeur("CNX_TEST", "TriggerTEST", ...
"ProcedureTEST", hTriggerAprès, ...
"Cedex", "HAjoute, HModifie") = Faux ALORS Erreur(HErreurInfo())
// Ajout d'enregistrements
Cedex.CodePostal = "30000"
Cedex.Ville = "NIMES"
HAjoute(Cedex)

Cedex.CodePostal = "34000"
Cedex.Ville = "MONTPELLIER"
HAjoute(Cedex)
Syntaxe

Décrire un trigger serveur (fichiers logiques) Masquer les détails

<Résultat> = HDécritTriggerServeur(<Nom du trigger> , <Nom de la procédure stockée> , <Type du trigger> , <Fichiers logiques HFSQL Client/Serveur> [, <Liste de fonctions HFSQL>])
<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.
<Nom du trigger> : Chaîne de caractères (avec guillemets)
Nom du trigger à créer. Ce nom sera utilisé pour manipuler le trigger dans les différentes fonctions de gestion des triggers serveur.
<Nom de la procédure stockée> : Chaîne de caractères
Nom de la procédure stockée WLangage qui sera exécutée lors du déclenchement du trigger. Cette procédure ne prend aucun paramètre.
<Type du trigger> : Constante de type Entier
Indique le type du trigger.
hTriggerAvantLa procédure stockée est exécutée avant la fonction HFSQL.
hTriggerAprèsLa procédure stockée est exécutée après la fonction HFSQL.
<Fichiers logiques HFSQL Client/Serveur> : Chaîne de caractères (avec guillemets)
Nom logique de un ou plusieurs fichiers de données HFSQL Client/Serveur. Pour indiquer plusieurs noms, séparez les noms des fichiers de données par une virgule (",").
<Liste de fonctions HFSQL> : Chaîne de caractères optionnelle (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, séparez les noms des fonctions par une virgule (","). Il est possible de définir des triggers sur les fonctions suivantes :
Les triggers sont également exécutés sur les requêtes INSERT (trigger de la fonction HAjoute), UPDATE (trigger de la fonction HModifie), DELETE (trigger de la fonction HSupprime).

Décrire un trigger serveur sur des fichiers physiques associés à une connexion Masquer les détails

<Résultat> = HDécritTriggerServeur(<Nom de la connexion> , <Nom du trigger> , <Nom de la procédure stockée> , <Type du trigger> [, <Fichiers physiques HFSQL Client/Serveur> [, <Liste de fonctions HFSQL>]])
<Résultat> : Booléen
  • Vrai si l'opération a été réalisée,
  • Faux en cas de problème. La fonction HErreur permet d'identifier l'erreur.
<Nom de la connexion> : Chaîne de caractères (avec ou sans guillemets)
Nom de la connexion à manipuler. Cette connexion a été définie sous l'éditeur d'analyses ou grâce aux fonctions HDécritConnexion ou HOuvreConnexion.
<Nom du trigger> : Chaîne de caractères (avec guillemets)
Nom du trigger à créer. Ce nom sera utilisé pour manipuler le trigger dans les différentes fonctions de gestion des triggers serveur.
<Nom de la procédure stockée> : Chaîne de caractères
Nom de la procédure stockée WLangage qui sera exécutée lors du déclenchement du trigger. Cette procédure ne prend aucun paramètre.
<Type du trigger> : Constante de type Entier
Indique le type du trigger.
hTriggerAvantLa procédure stockée est exécutée avant la fonction HFSQL
hTriggerAprèsLa procédure stockée est exécutée après la fonction HFSQL
<Fichiers physiques HFSQL Client/Serveur> : Chaîne de caractères optionnelle (avec guillemets)
Nom physique de un ou plusieurs fichiers de données HFSQL Client/Serveur associés à la connexion (par exemple "CLIENT.FIC"). Pour indiquer plusieurs noms, séparez les noms de fichiers de données par une virgule (","). Si ce paramètre n'est pas précisé ou est égal à une chaîne vide (""), le trigger sera activé sur tous les fichiers de données de la base.
<Liste de fonctions HFSQL> : Chaîne de caractères optionnelle (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, séparez les noms des fonctions par une virgule (","). Il est possible de définir des triggers sur les fonctions suivantes :
Les triggers sont également exécutés sur les requêtes INSERT (trigger de la fonction HAjoute), UPDATE (trigger de la fonction HModifie), DELETE (trigger de la fonction HSupprime).
Remarques

Triggers de même type

Si plusieurs triggers de même type sont définis sur le même fichier de données pour une même opération, ces triggers seront exécutés dans l'ordre alphabétique de leur nom.

Trigger sur les fonctions de manipulation des champs Table

Les fonctions de manipulation des champs Table (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 des champs 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"
Remarque : Si une fonction HFSQL a un trigger AVANT et un trigger APRES, alors si le trigger AVANT annule la fonction (en positionnant H.AFaire à "A") le trigger APRES n'est pas déclenché.
Composantes
WINDEVWEBDEV - Code ServeurEtats et Requêtes wd220hf.dll
Windows Mobile wp220hf.dll
Java wd220java.jar
Linux wd220hf.so
Android wd220android.jar
Version minimum requise
  • Version 12
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire