Introduction aux Triggers avec MySQL

8,044
-1

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,044
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
73
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

×