© Éditions Eyrolles
215
chapitre n° 6
Bases du langage de programmation
Variables de session
Il est possible de passer en paramètres d’entrée d’un bloc des variables externes. Ces variables
sont dites de session (user variables). Elles n’existent que durant la session. On déclare ces
variables en ligne de commande à l’aide du symbole « @ ».
SET
[, @var2 = expression2] ...
Le tableau suivant illustre un exemple de deux variables de session : on extrait le nom et le
nombre d’heures de vol d’un pilote (table décrite au début du chapitre 4) augmenté d’un
nombre en paramètre. Son numéro de brevet et la durée du vol sont lus au clavier. Ces variables de session ne sont bien sûr pas à déclarer dans le bloc
Conventions recommandées
Adoptez les conventions d’écriture suivantes pour que vos programmes MySQL soient plus
facilement lisibles et maintenables :
Tableau 6-6 Utilisation d’opérateurs
Code MySQL
Commentaires
DECLARE v_compteur INT(3) DEFAULT 0;
DECLARE v_boolean BOOLEAN;
DECLARE v_nombre
INT(3);
Trois déclarations dont une avec initialisation.
SET v_compteur := v_compteur+1;
Incrémentation de v_compteur (opérateur +)
SET v_boolean := (v_compteur=v_nombre); v_boolean reçoit NULL, car la condition est
fausse.
SET v_boolean := (v_nombre IS NULL);
v_boolean reçoit TRUE (1 en fait), car la condition est vraie.
@var1 = expression1
Tableau 6-7 Variables de session
Code MySQL
Résultat
…
BEGIN
DECLARE v_nom
CHAR(16);
DECLARE v_nbHVol DECIMAL(7,2);
SELECT nom,nbHVol
INTO v_nom, v_nbHVol FROM Pilote
WHERE brevet =
;
SET v_nbHVol := v_nbHVol +
;
SELECT v_nom, v_nbHVol;
END;
+------------------+----------+
| v_nom
| v_nbHVol |
+------------------+----------+
| Placide Fresnais | 2465.00 |
+------------------+----------+
Web
SET @vs_num = 'PL-4'$
SET @vs_hvol = 15$
@vs_num
@vs_hvol
Précédent

- 237/418

Suivant