Académique Documents
Professionnel Documents
Culture Documents
D’un point de vue général et sans parler de MySQL, la plupart des déclencheurs (triggers)
peuvent être vus comme des sous-programmes résidents associés à un événement particulier
(insertion, modification d’une ou de plusieurs colonnes, suppression) sur une table (ou une
vue). Une table (ou vue) peut « héberger » plusieurs déclencheurs ou aucun.
Programmer toutes les règles de gestion qui n’ont pas pu être mises en place par des
contraintes au niveau des tables. Déporter des contraintes au niveau du serveur et
alléger ainsi la programmation client.
Renforcer des aspects de sécurité et d’audit.
Programmer l’intégrité référentielle et la réplication dans des architectures distribuées,
avec l’utilisation de liens de bases de données.
Une instruction INSERT, UPDATE, ou DELETE sur une table (ou vue). On parle de
déclencheurs LMD ;
Une instruction CREATE, ALTER, ou DROP sur un objet (table, vue, etc.). On
parle de déclencheurs LDD ;
En pratique, dans MySQL, seuls les événements de la première catégorie sont pris en
compte.
1
LES DECLENCHEURS
VI.1.1. Syntaxe
Chaque enregistrement qui tente d’être supprimé d’une table, qui inclut un déclencheur de type
DELETE FOR EACH ROW, est désigné par OLD au niveau du code du déclencheur.
2
LES DECLENCHEURS
Chaque enregistrement qui tente d’être ajouté dans une table est désigné par NEW au niveau
du code du déclencheur. L’accès aux colonnes de ce pseudo-enregistrement dans le corps du
déclencheur se fait par la notation pointée.
Exemple : Ecrire un trigger qui permet d’insérer une capacité de 30 lorsque la capacité de la
est inférieure 30.
Show triggers : Montre les différents trigger crée dans notre BD en cours.
Drop trigger nom_trigger : Permet de supprimer un trigger
Une procédure stockée (ou stored procedure en anglais) est un ensemble d'instructions SQL
précompilées, stockées dans une base de données et exécutées sur demande par le SGBD qui
manipule la base de données.
3
LES DECLENCHEURS
4
LES DECLENCHEURS