L3 Info : SGBD
 
◃  Ch. 11 PL/pgSQL  ▹
 

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 :
    1. définition d'une fonction réalisant les opérations réalisées automatiquement lors de l'observation des événements déclencheurs ;
    2. définition du déclencheur lui-même avec CREATE TRIGGER ...