© Éditions Eyrolles
269
chapitre n° 7
Programmation avancée
L’événement déclencheur est ici AFTER UPDATE, car il faudra s’assurer que la suppression
n’est pas entravée par d’éventuelles contraintes référentielles. Le code minimal de ce déclencheur est décrit dans le tableau suivant :
En considérant les données présentées à la figure précédente, le test de ce déclencheur est le
suivant :
Figure 7-9 Principe du déclencheur TrigUpdQualif
Qualifications
BREVET TYPA EXPIRE
------ ---- -------PL-1
A340 22/06/05
PL-1
A330 05/02/05
PL-1
A320 16/01/04
PL-2
A320 18/01/04
PL-3
A330 22/01/06
Pilote
BREVET NOM
NBHVOL COMP
NBQUALIF
------ -------------------- ---------- ---- ---------PL-1
P. Caboche
450 AF
3
PL-2
G. Lebur
3400 AF
1
PL-3
X. Leclercq
900 SING
1
Déclencheur
TrigUpd Qualif
PL-2
UPDATE
1
2
+1
3
NEW
OLD
-1
Tableau 7-22 Déclencheur après modification
Déclencheur
Commentaires
BEGIN
UPDATE Pilote
SET nbQualif = nbQualif + 1
WHERE brevet =
;
UPDATE Pilote
SET nbQualif = nbQualif - 1
WHERE brevet =
;
END;
Déclaration de l’événement déclencheur.
Corps du déclencheur.
Mise à jour des pilotes concernés par
la modification de la qualification.
Web
CREATE TRIGGER TrigUpdQualif
AFTER UPDATE ON Qualifications
FOR EACH ROW
NEW.brevet
OLD.brevet
269
chapitre n° 7
Programmation avancée
L’événement déclencheur est ici AFTER UPDATE, car il faudra s’assurer que la suppression
n’est pas entravée par d’éventuelles contraintes référentielles. Le code minimal de ce déclencheur est décrit dans le tableau suivant :
En considérant les données présentées à la figure précédente, le test de ce déclencheur est le
suivant :
Figure 7-9 Principe du déclencheur TrigUpdQualif
Qualifications
BREVET TYPA EXPIRE
------ ---- -------PL-1
A340 22/06/05
PL-1
A330 05/02/05
PL-1
A320 16/01/04
PL-2
A320 18/01/04
PL-3
A330 22/01/06
Pilote
BREVET NOM
NBHVOL COMP
NBQUALIF
------ -------------------- ---------- ---- ---------PL-1
P. Caboche
450 AF
3
PL-2
G. Lebur
3400 AF
1
PL-3
X. Leclercq
900 SING
1
Déclencheur
TrigUpd Qualif
PL-2
UPDATE
1
2
+1
3
NEW
OLD
-1
Tableau 7-22 Déclencheur après modification
Déclencheur
Commentaires
BEGIN
UPDATE Pilote
SET nbQualif = nbQualif + 1
WHERE brevet =
;
UPDATE Pilote
SET nbQualif = nbQualif - 1
WHERE brevet =
;
END;
Déclaration de l’événement déclencheur.
Corps du déclencheur.
Mise à jour des pilotes concernés par
la modification de la qualification.
Web
CREATE TRIGGER TrigUpdQualif
AFTER UPDATE ON Qualifications
FOR EACH ROW
NEW.brevet
OLD.brevet
