我想知道@variablename和variablename的区别是什么。所有的帮助都将不胜感激。
发布于 2014-08-01 21:13:03
variablename局部变量
局部变量在存储过程中声明,并且仅在BEGIN…中有效在其中声明它们的END块。局部变量可以具有任何SQL数据类型。
@variablename用户变量
在MySQL存储过程中,引用用户变量时在用户变量名前加上与号(@) (例如,@x和@y)。可以在一条语句中将值存储在用户定义的变量中,然后在稍后的另一条语句中引用它。这使您能够将值从一个语句传递到另一个语句。用户定义变量是特定于会话的。也就是说,由一个客户端定义的用户变量不能被其他客户端看到或使用。当客户端退出时,给定客户端会话的所有变量都会自动释放。
在MySQL中,变量var1和@var1是两个不同的东西。@var1是一个用户会话变量,它在活动会话期间保持不变。另一个对于存储过程来说是本地的。
https://stackoverflow.com/questions/25080850
复制相似问题