Brock
Un déclencheur de base de données est un code procédural qui est automatiquement exécuté en réponse à certains événements sur une table particulière dans une base de données. Les déclencheurs peuvent restreindre l'accès à des données spécifiques, effectuer une journalisation ou auditer des modifications de données.
Il existe deux classes de déclencheurs, ce sont soit des "déclencheurs de ligne" soit des "déclencheurs d'instructions". Avec les déclencheurs de ligne, vous pouvez définir une action pour chaque ligne d'une table, tandis que les déclencheurs d'instruction ne se produisent qu'une seule fois par instruction INSERT, UPDATE ou DELETE. Les déclencheurs ne peuvent pas être utilisés pour auditer la récupération des données.
Chaque classe peut être de plusieurs types. Il existe des "déclencheurs AVANT" et des "déclencheurs APRÈS" qui identifient l'heure d'exécution du déclencheur. Il existe également un "déclencheur INSTEAD OF" qui est un déclencheur conditionnel qui se déclenchera à la place de l'instruction de déclenchement. Cependant, "INSTEAD OF trigger" ne sont disponibles que pour les vues.
Il y a généralement trois
événements déclencheurs qui provoquent le déclenchement du déclencheur :
événement INSERT (lorsqu'un nouvel enregistrement est inséré dans la base de données).
Evénement UPDATE (lorsqu'un enregistrement est en cours de modification).
Événement DELETE (car un enregistrement est en cours de suppression).
Les mandats standard SQL:2003 que les déclencheurs permettent aux programmeurs d'accéder aux variables d'enregistrement au moyen d'une syntaxe telle que REFERENCING NEW AS n. Par exemple, si un déclencheur surveille les modifications apportées à une colonne de salaire, on peut écrire un déclencheur comme celui-ci :