尝试使用":="在select中为过程变量赋值时出错

时间:2017-03-03 02:11:11

标签: mysql stored-procedures

我有以下存储过程代码:

BEGIN
DECLARE procvar INT;
SELECT @uservar := portid();
SELECT procvar := portid();
END

我收到第二个SELECT语句的语法错误。

因此,对于用户会话变量(@uservar)允许赋值,但是尝试为本地声明的变量(procvar)赋值会引起语法错误。

我在:=运算符的文档中找不到任何直接引用 - 所有示例都只使用@vars。任何人都可以解释第二个SELECT语句被破坏的语法规则是什么?

1 个答案:

答案 0 :(得分:2)

将此B更改为DECLARE XX INT;