【发布时间】:2014-08-01 12:58:57
【问题描述】:
我想知道@variablename 和variablename 有什么区别。所有的帮助将不胜感激。
【问题讨论】:
标签: mysql database stored-procedures
我想知道@variablename 和variablename 有什么区别。所有的帮助将不胜感激。
【问题讨论】:
标签: mysql database stored-procedures
variablename
局部变量
局部变量在存储过程中声明,并且仅在声明它们的 BEGIN...END 块中有效。局部变量可以是任何 SQL 数据类型。
@variablename
用户变量
在 MySQL 存储过程中,用户变量使用与用户变量名称前缀的 & 符号 (@) 引用(例如,@x 和 @y)。您可以在一个语句中将值存储在用户定义的变量中,然后稍后在另一个语句中引用它。这使您能够将值从一个语句传递到另一个语句。用户定义的变量是特定于会话的。也就是说,一个客户端定义的用户变量不能被其他客户端看到或使用。当客户端退出时,给定客户端会话的所有变量都会自动释放。
在 MySQL 中,变量 var1 和 @var1 是两个不同的东西。 @var1 是一个用户会话变量,在活动会话期间保持不变。另一个是存储过程的本地。
【讨论】: