Les triggers avec MySQL
       Par Joseph ROUFF
Définition

“ Un déclencheur est un objet de base de
données nommé, qui est associé à une table et
qui s'active lorsqu'un ...
Définition - 2
Un Trigger est un bloc d'instructions SQL :
  Il est rattaché à une seule table
  Il réagit à 3 événements ...
Création d'un Trigger
CREATE TRIGGER nom_trigger(1)
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON nom_table(2)
FOR EA...
Quand doit-on les utiliser ?

Les triggers sont souvent utilisés pour :
   Créer des rapports d'audit sur l'utilisation de...
Création d'une « poubelle »

Objectif : Créer un trigger interceptant toutes les données
supprimées pour les mettre dans u...
Création d'un système d'audit

Objectif : Créer un trigger permettant de compter le nombre
de requêtes d'ajout, de mise à ...
Emulation Intégrité Référentielle

Objectif : Créer un trigger permettant de vérifier si avant
d'ajouter une ville, elle f...
Prochain SlideShare
Chargement dans…5
×

Introduction aux Triggers avec MySQL

8 472 vues

Publié le

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
8 472
Sur SlideShare
0
Issues des intégrations
0
Intégrations
11
Actions
Partages
0
Téléchargements
77
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Introduction aux Triggers avec MySQL

  1. 1. Les triggers avec MySQL Par Joseph ROUFF
  2. 2. Définition “ Un déclencheur est un objet de base de données nommé, qui est associé à une table et qui s'active lorsqu'un événement particulier survient dans une table ”
  3. 3. Définition - 2 Un Trigger est un bloc d'instructions SQL : Il est rattaché à une seule table Il réagit à 3 événements : INSERT, UPDATE, DELETE Il s'exécute soit avant soit après un des ces événements L'accession aux données modifiées via les événements est possible avec les mots-clés New. nom_colonne ou OLD.nom_colonne Une table peut avoir 6 triggers Maximum
  4. 4. Création d'un Trigger CREATE TRIGGER nom_trigger(1) { BEFORE | AFTER } { INSERT | UPDATE | DELETE } ON nom_table(2) FOR EACH ROW requête_SQL(3) 1. Nom donné au Trigger, il lui sert d'identifiant 2. Nom de la table pour laquelle le trigger est affecté 3. La requête SQL à exécuter lors de l'activation du Trigger
  5. 5. Quand doit-on les utiliser ? Les triggers sont souvent utilisés pour : Créer des rapports d'audit sur l'utilisation de la BDD Palier aux manques de certains moteurs de stockage (Intégrité référentielle) Accroître la sécurité des données
  6. 6. Création d'une « poubelle » Objectif : Créer un trigger interceptant toutes les données supprimées pour les mettre dans une table « poubelle » afin d'éviter les suppression accidentelles. Importer la base de données « world » Créer la table deleted_city Affecter à la table City le trigger nommé city_AD : Utiliser l'événement DELETE Le trigger sera invoqué ... après ... l'instruction DELETE
  7. 7. Création d'un système d'audit Objectif : Créer un trigger permettant de compter le nombre de requêtes d'ajout, de mise à jour et de suppression effectués par jour Créer la table audit_city Affecter à la table City les triggers suivant: audit_city_AI (Evén. : INSERT, PE : AFTER) audit_city_AD (Evén. : DELETE, PE : AFTER) audit_city_AU (Evén. : UPDATE, PE : AFTER)
  8. 8. Emulation Intégrité Référentielle Objectif : Créer un trigger permettant de vérifier si avant d'ajouter une ville, elle fait référence à un pays existant dans la table Country Affecter à la table City le trigger verif_country_BI (Evén. : INSERT, PE : BEFORE) Adopter la notation pour un trigger comportant plusieurs instructions SQL

×