Partie II
Programmation procédurale
272
© Éditions Eyrolles
mysql> SELECT * FROM Trace$
+-----------------------------------------------------------------+
| col
|
+-----------------------------------------------------------------+
|
|
+-----------------------------------------------------------------+
Dictionnaire des données
Étudiée au chapitre 5, la base INFORMATION_SCHEMA inclut la vue TRIGGERS qui renseigne
les caractéristiques des déclencheurs qui étaient auparavant considérés au niveau table. Ils
sont désormais reconnus à juste titre au niveau database. Il faut détenir le privilège SUPER
pour accéder à cette vue.
La requête suivante interroge cette vue et permet de retrouver les noms et les caractéristiques
relatives aux événements déclencheurs des trois triggers de la base de données bdsoutou.
SELECT TRIGGER_NAME,EVENT_OBJECT_TABLE "Table",
EVENT_MANIPULATION "Evenement", ACTION_TIMING,
EVENT_OBJECT_SCHEMA "Base"
FROM INFORMATION_SCHEMA.TRIGGERS
WHERE TRIGGER_SCHEMA='bdsoutou';
+---------------+----------------+-----------+---------------+----------+
| TRIGGER_NAME | Table
| Evenement | ACTION_TIMING | Base
|
+---------------+----------------+-----------+---------------+----------+
| TrigInsQualif | Qualifications | INSERT
| AFTER
| bdsoutou |
| TrigUpdQualif | Qualifications | UPDATE
| AFTER
| bdsoutou |
| TriDelQualif | Qualifications | DELETE
| AFTER
| bdsoutou |
+---------------+----------------+-----------+---------------+----------+
Notez que MySQL utilise :
q
la colonne TRIGGER_NAME pour désigner le nom du déclencheur d’une database ;
q
la colonne TRIGGER_SCHEMA pour désigner le nom de la base de données à laquelle il
appartient ;
q
les colonnes EVENT_OBJECT_TABLE et EVENT_OBJECT_SCHEMA pour désigner
respectivement le nom de la table qui accueille ce déclencheur ainsi que la base de données
qui la contient (elle peut être différente de celle du déclencheur, ici nous raisonnons sur la
même) ;
q
la colonne EVENT_MANIPULATION pour désigner l’événement déclencheur ;
q
la colonne ACTION_TIMING pour préciser la chronologie de l’événement déclencheur.
La requête suivante interroge cette même vue pour extraire le code du déclencheur de type
after update hébergé par la table Qualifications, dans la base de données bdsoutou :
Insertion pilote, appel de bdsoutou.procTrigg le 2005-12-20 08:27:20
Programmation procédurale
272
© Éditions Eyrolles
mysql> SELECT * FROM Trace$
+-----------------------------------------------------------------+
| col
|
+-----------------------------------------------------------------+
|
|
+-----------------------------------------------------------------+
Dictionnaire des données
Étudiée au chapitre 5, la base INFORMATION_SCHEMA inclut la vue TRIGGERS qui renseigne
les caractéristiques des déclencheurs qui étaient auparavant considérés au niveau table. Ils
sont désormais reconnus à juste titre au niveau database. Il faut détenir le privilège SUPER
pour accéder à cette vue.
La requête suivante interroge cette vue et permet de retrouver les noms et les caractéristiques
relatives aux événements déclencheurs des trois triggers de la base de données bdsoutou.
SELECT TRIGGER_NAME,EVENT_OBJECT_TABLE "Table",
EVENT_MANIPULATION "Evenement", ACTION_TIMING,
EVENT_OBJECT_SCHEMA "Base"
FROM INFORMATION_SCHEMA.TRIGGERS
WHERE TRIGGER_SCHEMA='bdsoutou';
+---------------+----------------+-----------+---------------+----------+
| TRIGGER_NAME | Table
| Evenement | ACTION_TIMING | Base
|
+---------------+----------------+-----------+---------------+----------+
| TrigInsQualif | Qualifications | INSERT
| AFTER
| bdsoutou |
| TrigUpdQualif | Qualifications | UPDATE
| AFTER
| bdsoutou |
| TriDelQualif | Qualifications | DELETE
| AFTER
| bdsoutou |
+---------------+----------------+-----------+---------------+----------+
Notez que MySQL utilise :
q
la colonne TRIGGER_NAME pour désigner le nom du déclencheur d’une database ;
q
la colonne TRIGGER_SCHEMA pour désigner le nom de la base de données à laquelle il
appartient ;
q
les colonnes EVENT_OBJECT_TABLE et EVENT_OBJECT_SCHEMA pour désigner
respectivement le nom de la table qui accueille ce déclencheur ainsi que la base de données
qui la contient (elle peut être différente de celle du déclencheur, ici nous raisonnons sur la
même) ;
q
la colonne EVENT_MANIPULATION pour désigner l’événement déclencheur ;
q
la colonne ACTION_TIMING pour préciser la chronologie de l’événement déclencheur.
La requête suivante interroge cette même vue pour extraire le code du déclencheur de type
after update hébergé par la table Qualifications, dans la base de données bdsoutou :
Insertion pilote, appel de bdsoutou.procTrigg le 2005-12-20 08:27:20
