Code : SQL
SELECT @age, @poids, @salut;
@age @poids
@salut
24
7.8
Hello World !
Opérateur d'assignation
Il est également possible d'assigner une valeur à une variable utilisateur directement dans une requête, en utilisant l'opérateur
d'assignation := (n'oubliez pas les :, sinon il s'agit de l'opérateur de comparaison de valeurs).
Code : SQL
SELECT @age := 32, @poids := 48.15, @perroquet := 4;
@age := 32 @poids := 48.15 @perroquet := 4
32
48.15
4
On peut utiliser l'opérateur d'assignation := dans une commande SET également : SET @chat := 2;
Utilisation d'une variable utilisateur
Ce qu'on peut faire
Une fois votre variable utilisateur créée, vous pouvez bien sûr l'afficher avec SELECT. Mais vous pouvez également l'utiliser
dans des requêtes ou faire des calculs avec.
Code : SQL
SELECT id, sexe, nom, commentaires, espece_id
FROM Animal
WHERE espece_id = @perroquet; -- On sélectionne les perroquets
SET @conversionDollar = 1.31564;
-- On crée une variable
contenant le taux de conversion des euros en dollars
SELECT prix AS prix_en_euros,
-- On sélectionne le prix des
races, en euros et en dollars.
ROUND(prix * @conversionDollar, 2) AS prix_en_dollars,
-En arrondissant à deux décimales
nom FROM Race;
Si vous utilisez une variable utilisateur qui n'a pas été définie, vous n'obtiendrez aucune erreur. Simplement, la variable
aura comme valeur NULL.
Ce qu'on ne peut pas faire
Avec les variables utilisateur, on peut donc dynamiser un peu nos requêtes. Cependant, il n'est pas possible d'utiliser les
variables utilisateur pour stocker un nom de table ou de colonne qu'on introduirait ensuite directement dans la requête. Ni pour
stocker une partie de commande SQL. Les variables utilisateur stockent des données.
Partie 5 : Sécuriser et automatiser ses actions
256/414
www.openclassrooms.com
Précédent

- 256/413

Suivant