Oui, c'est cela... mais je vais revenir un peu sur l'explication des variables dans mysql (qui était très light je le crains).
Il existe 2 types de variables :
- Variables scalaires : qui seront définis dans un bloc (BEGIN - END) et typé. La syntaxe étant :
DECLARE nomVariable1[,nomVariable2...] typeMSQL [DEFAULT expression];
- Variables de session : qui elles ne sont pas déclaré explicitement, elle sont déclarées en ligne de commande à l’aide du symbole « @ ».
Bref, espérant que ce soit un peu plus clair
Ensuite pour votre code : Il est correct mais un bloc ne peut pas se "balader" brut... il doit être contenu dans une procédure... ce qui donne :
1 2 3 4 5 6 7 8 9 10 11
| DELIMITER //
CREATE PROCEDURE PS_user()
BEGIN
CALL PI_USER ('moi','j');
SELECT prenom INTO @toto
FROM USERS
WHERE nom='moi';
SELECT @toto;
END;
// |
NB : Ne pas oublier de modifier le délimiter sinon une erreur serait levé dès la rencontre du premier ";"
Partager