Trigger

Définition, exemples et bonnes pratiques

À retenir

  • Exécution automatique suite à un événement.
  • Utilisé pour maintenir la cohérence des données.
  • Agit souvent de manière invisible (en arrière-plan).

Un trigger est un petit programme automatisé qui se déclenche tout seul dès qu'un événement précis survient dans un système. C'est un peu comme un capteur de mouvement qui allumerait une lumière : dès qu'une action est détectée (comme l'ajout d'une donnée), le trigger exécute une tâche prédéfinie sans intervention humaine.

Étymologie

Vient de l'anglais trigger signifiant « gâchette ». Comme pour une arme à feu ou un piège, une pression sur la gâchette (l'événement) provoque instantanément le départ du coup (l'action logicielle).

Exemples d'usage

  • Mettre à jour automatiquement le nombre d'articles en stock dès qu'une vente est validée dans une base de données.
  • Empêcher la suppression d'un compte client si celui-ci possède encore des commandes en cours.
  • Créer une copie de sauvegarde d'une ligne d'information juste avant qu'elle ne soit modifiée pour garder un historique.

Cas d'usage

On les retrouve principalement dans la gestion des bases de données (SQL) pour garantir la cohérence des informations. Ils sont aussi utilisés en programmation d'applications pour réagir à des changements d'état ou dans des outils d'automatisation (si ceci arrive, alors fais cela).

Bonnes pratiques

Il faut rester prudent : trop de triggers peuvent ralentir une base de données, car chaque action en entraîne d'autres. Il faut aussi éviter les triggers qui s'activent les uns les autres en boucle, ce qui pourrait faire planter le système. Enfin, documentez-les bien car, comme ils sont automatiques, ils agissent parfois de manière invisible pour les développeurs.

Synonymes

déclencheur action événementielle écouteur d'événement

Antonymes

exécution manuelle appel explicite

Conseil

Si vous débutez, voyez le trigger comme un 'garde-fou'. Ne l'utilisez que pour des tâches critiques qui doivent absolument être effectuées à chaque fois, sans exception, peu importe d'où vient la commande.

Questions fréquentes

Quelle est la différence avec une procédure stockée ?

Une procédure stockée doit être appelée manuellement par le code, tandis qu'un trigger s'exécute tout seul dès que l'événement prévu arrive.

Un trigger peut-il bloquer une action ?

Oui, un trigger peut être programmé pour annuler une modification si elle ne respecte pas certaines règles de sécurité ou de logique.