Quel est le symbole @ signifie que sur une Procédure dans MySQL?
Quelle est la différence entre l'accès à une variable avec @
ou sans?
Je ne suis pas MySql gars, mais je veux apprendre. Aussi loin que je peux voir à partir de la documentation, les variables sont définies comme ayant un "@" est la même avec SQL Server. Le "@" est ce que raconte le moteur c'est un nom de variable. Je ne suis pas sûr de savoir comment vous pourriez accéder à une variable sans le @. Pouvez-vous préciser? Peut-être montrer des exemples de code où vous utilisez le "@" et où vous n'avez pas? dev.mysql.com/doc/refman/5.0/en/user-variables.html
déjà répondu sur un débordement de pile chk ce stackoverflow.com/questions/361747/...
déjà répondu sur un débordement de pile chk ce stackoverflow.com/questions/361747/...
OriginalL'auteur DontVoteMeDown | 2012-05-09
Vous devez vous connecter pour publier un commentaire.
La
@
fait un défini par l'utilisateur session variable. Sinon, il serait localement étendue variable (dans un procédure stockée), vous devezDEFINE
de votre région avant de vous pouvezSET
. Vous pouvez également définir un mondiale système variable (avecSET GLOBAL
ouSET @@global
), si vous vouliez. Ainsi qu'une session système variable avecSET SESSION var
ouSET @@session var
ouSET @@var
.Plus de détails sur
SET
de la documentation: Si aucun modificateur n'est présent,SET
les changements de la variable de session (c'est pourquoi vousDEFINE
vos locaux dans la procédure stockée en premier). Si vous définissez plusieurs variables système, la plus récenteGLOBAL
ouSESSION
modificateur dans la déclaration est utilisé pour les variables suivantes qui n'ont pas de modificateur spécifié.Plus (et quelques bons exemples) ici:
OriginalL'auteur Pavel Veller
Que la notation est utilisé pour les variables définies par l'utilisateur, comme expliqué ici: http://dev.mysql.com/doc/refman/5.0/en/user-variables.html
OriginalL'auteur Ja͢ck