Administration des SBGD relationnels Administration des SBGD relationnels
Zouhair ELHADARI
www.hadari.jimdo.com
Centre de BTS Dakhla 2ème année BTS DSI
Chapitre 5 Chapitre 5
les déclencheurs (Triggers)
les déclencheurs (Triggers)
Définition:
Définition:
Trigger: procédure qui exécute
automatiquement si des changements spécifiés surviennent dans la base de données.
Il comportent trois partie:
Événement (active le trigger)
Événement (active le trigger)
Condition (teste si le trigger devrait être exécuté)
Action (ce qui survient si le trigger est exécuté)
2ème année BTS DSI
Prof:EL HADARI zouhair 3
Les types d'actions:
Les types d'actions:
Les déclencheurs peuvent être associés à trois types d'actions de déclenchement sur une table :
Déclencheurs d'insertion : Se déclenchent suite à une opération d'ajout d'enregistrements dans la table ;
opération d'ajout d'enregistrements dans la table ;
Déclencheurs de modification : Se déclenchent suite à une opération de modification des enregistrements de la table ;
Déclencheurs de suppression : Se déclenchent suite à une opération de suppression d'enregistrements à partir de
Types de Triggers:
Types de Triggers:
Les déclencheurs peuvent être de deux types : INSTEAD OF et AFTER.
INSTEAD OF : permet d’exécuter des instructions du DML (insert, update ou delete)
du DML (insert, update ou delete)
AFTER :s’exécute après la validation des
contraintes associées à la table. Si une contrainte n'est pas vérifiée ce type de déclencheurs ne se déclenchera jamais ;
2ème année BTS DSI
Prof:EL HADARI zouhair 5
Création d’un déclencheur (Trigger) Création d’un déclencheur (Trigger)
Syntaxe 1:
Create Trigger Nom_Trigger On Nom_Table
Instead Of | For Opération1, Opération2...
Instead Of | For Opération1, Opération2...
As
Instructions
Création d’un déclencheur (Trigger) Création d’un déclencheur (Trigger)
Syntaxe 2:
Create Trigger Nom_Trigger On Nom_Table
For Opération1, Opération2...
For Opération1, Opération2...
As
Instructions
2ème année BTS DSI
Prof:EL HADARI zouhair 7
Remarque :
Opération peut prendre Insert, Delete ou Update selon le type de trigger à créer
Un même trigger peut être associé à une seule opération ou à plusieurs opérations à la fois
A chaque table, peuvent être associées trois triggers au maximum : ajout, modification et suppression (un trigger maximum : ajout, modification et suppression (un trigger concernant deux opérations est compté comme deux triggers)
Le corps du trigger créé peut inclure n'importe quelles instructions excepté Create Database, Alter Database, Drop Database, Restore Database, Restore Log et
reconfigure ;
Suppression et modification d’un Suppression et modification d’un déclencheur
déclencheur
Syntaxe (suppression):
Drop Trigger Nom_Trigger
Syntaxe (modification):
Syntaxe (modification):
Alter Trigger Nom_Trigger On Nom_Table
For Opération1, Opération2...
as
Nouvelles Instructions
2ème année BTS DSI
Prof:EL HADARI zouhair 9