PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
This content has been translated automatically. Click here to view the French version.
  • Trigger on the table management functions
  • Variables used to manage the triggers
  • Previous versions
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Adds or modifies a trigger on an HFSQL data file. A trigger is a WLanguage procedure automatically called by the HFSQL engine whenever an HFSQL function is run. The UPDATE, INSERT or DELETE requests also trigger execution (Warning: the trigger is not triggered on tables accessed via an Native Connector). .
For more details, see Managing triggers.
HFSQLHFSQL Client/Server Available only on the client side (use the HDescribeServerTrigger function for a server at the HFSQL Client/Server database level.
Versions 17 and later
iPhone/iPad This function is now available for iPhone/iPad applications.
New in version 17
iPhone/iPad This function is now available for iPhone/iPad applications.
iPhone/iPad This function is now available for iPhone/iPad applications.
Versions 18 and later
Universal Windows 10 App This function is now available in Windows Store apps mode.
New in version 18
Universal Windows 10 App This function is now available in Windows Store apps mode.
Universal Windows 10 App This function is now available in Windows Store apps mode.
Versions 21 and later
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
New in version 21
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
Remark: From version 19, HFSQL is the new name of HyperFileSQL.
Example
// Dans le code d'initialisation du projet
LOCAL
ResultatTrigger is boolean
 
// Création du Trigger pour tous les fichiers de l'analyse
ResultatTrigger = HDescribeTrigger("*", "HAJOUTE,HMODIFIE," + ...
 "HSUPPRIME,HRAYE,HECRIT", "VerifDroitUtilisateur", hTriggerBefore)
// Avec "VerifDroitUtilisateur" une procédure globale du projet
IF ResultatTrigger = False THEN
 Error("Erreur sur un trigger: " + HErrorInfo)
 RETURN
END
Syntax
<Result> = HDescribeTrigger(<List of HFSQL data files> , <List of HFSQL functions> , <WLanguage procedure> , <Type of trigger>)
<Result>: Boolean
  • True if the operation was performed,
  • False if a problem occurred. HErrorInfo is used to identify the error.
<List of HFSQL data files>: Character string
Logical name of one or more HFSQL data files.
To specify several names of data files, the names of the data files must be separated by a comma (",").
To use all the data files found in the analysis, this parameter must be equal to "*".
<List of HFSQL functions>: Character string
Name of one or more HFSQL or TableXXX functions on which the trigger must be implemented. To specify several names of functions, the names of functions must be separated by a comma (","). You have the ability to define triggers on the following functions:
<WLanguage procedure>: Procedure name
Name of the WLanguage procedure that will be run when a trigger is activated on the specified HFSQL functions.
<Type of trigger>: Integer constant
Indicates the type of trigger.
hTriggerBeforeThe procedure is run before the HFSQL function.
hTriggerAfterThe procedure is run after the HFSQL function.
Remarks

Trigger on the table management functions

The table manipulation functions (TableAdd, TableAddLine, TableDelete, TableModify, ... ) implicitly use the following HFSQL functions: HAdd, HDelete and HModify.
When using one of these functions for handling the tables, if a trigger is defined for the corresponding HFSQL function, the trigger is automatically activated.

Variables used to manage the triggers

A trigger procedure accepts no parameter. However, some HFSQL state variables are positioned before each call:
H.FileNameCharacter string: Logical name of the data file whose trigger is activated
H.ActionCharacter initialized to "A" for a Before trigger and to "P" for an After trigger.
H.TriggerFunctionCharacter string: Name of the HFSQL function that activated the trigger
H.ToDoDuring the execution of a before trigger:
  • cancel the execution of the HFSQL function by assigning "A" to the HFSQL state variable: H.ToDo = "A". In this case, the action is not performed and the function (HAdd, HModify, etc.) returns True (no error).
  • cancel the execution of the current HFSQL function by assigning "E" to the HFSQL state variable: H.ToDo = "E". In this case, the action is not performed and the function (HAdd, HModify, etc.) returns False. The error message is as follows: "The action on XXX file was interrupted by the trigger".

Remark: When a "BEFORE" trigger and an "AFTER" trigger are associated with an HFSQL function, if "BEFORE" cancels the execution of the HFSQL function (by setting H.ToDo to "A"), "AFTER" is not run.
WINDEV

Previous versions

This function replaces the DescribesTrigger_55function, which was kept for compatibility with WINDEV 5.5.
Component: wd270hf.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment