@符号在MySQL中的过程中意味着什么?

时间:2012-05-09 14:20:02

标签: mysql sql stored-procedures

使用@或不使用?{/ p>访问变量之间有什么区别?

2 个答案:

答案 0 :(得分:15)

@使其成为user defined 会话变量。否则它将是locally scoped变量(在stored procedure中),您必须先DEFINE您的本地,然后才能SET它。如果您愿意,还可以设置全局 系统变量(SET GLOBALSET @@global)。以及包含SET SESSION varSET @@session varSET @@var的会话系统变量。

SET来自the documentation的更多详细信息:如果不存在修饰符,SET会更改会话变量(这就是您首先在存储过程中DEFINE本地人的原因) 。如果设置了多个系统变量,则语句中最新的GLOBALSESSION修饰符用于跟踪未指定修饰符的变量。

更多(以及一些很好的例子):

答案 1 :(得分:5)

该符号用于用户定义的变量,如下所述:http://dev.mysql.com/doc/refman/5.0/en/user-variables.html