En complément des manipulations expliquées dans la vidéo, il faut noter que :
Cette appellation d’événement MOTEUR apporte une précision importante : les triggers sont exécutés sur le moteur de la base de données :
En monoposte, il s’agit bien du programme 4D qui contient à la fois le moteur de base de données, le moteur de rendu (affichages, etc.).
En mode client/serveur (Serveur SQL ou serveur Web), les données sont stockées sur le serveur et envoyées aux postes clients par le moteur de 4DServer. Dans ce cas, les triggers sont exécutés sur le serveur et non plus en local sur les postes clients.
D’une manière générale, prenez l’habitude de créer des méthodes projet qui réalisent vos traitements, calculs, etc. et appelez ces méthodes “génériques” depuis les méthodes spécifiques telles que les triggers.
Nous avons vu comment passer des paramètres, c’est beaucoup plus facile à maintenir et vous gagnerez un temps considérable tant en développement qu’en correction de bogues. Votre code sera également plus concis, fiable et lisible.
On peut exécuter des triggers en cascade. Dans ce cas, 4D dispose de commandes permettant de connaître les propriétés du trigger et le niveau dans la cascade.
Un trigger peut également servir à “accepter” ou “rejeter” la tentative d’opération sur l’enregistrement.
C’est un moyen qui vous permet de garantir l’intégrité de votre base de données quelle que soit la manière dont les informations sont traitées :
SQL
plug-in
saisie
import
Web
Sachant qu’un trigger bloque le reste des traitements durant son exécution, les principes généraux à respecter dans une méthode trigger sont :