Procédures déclenchées (Triggers)
- Un trigger est une fonction qui doit être éxécutée lorsque certaines opérations sont réalisées.
- Ces déclenchements peuvent avoir lieu avant ou après un
INSERT
, un UPDATE
ou un DELETE
.
- Les opérations automatiques peuvent être réalisées une fois par instruction ou une fois par ligne concernée.
- Ce sont des fonctions particulières sans paramètre et de type
trigger
- Lors de l'exécution d'un trigger, des variables spéciales sont créées automatiquement :
NEW
, OLD
, ...
- Les fonctions "trigger" doivent retourner soit NULL soit une valeur de RECORD ayant la même structure que la table ciblée (OLD ou NEW par exemple);
- La mise place une procédure déclenchée se fait en deux temps :
- définition d'une fonction réalisant les opérations réalisées automatiquement lors de l'observation des événements déclencheurs ;
- définition du déclencheur lui-même avec
CREATE TRIGGER ...