我有以下存储过程代码:
BEGIN
DECLARE procvar INT;
SELECT @uservar := portid();
SELECT procvar := portid();
END
我收到第二个 SELECT 语句的语法错误。
因此允许对用户 session 变量 (@uservar) 进行赋值,但尝试将值赋给本地声明的变量 (procvar) 会引发语法错误。
我在 := 运算符的文档中找不到对此的任何直接引用 - 所有示例都只使用 @vars。谁能解释第二个 SELECT 语句违反的语法规则是什么?
最佳答案
将此 DECLARE XX INT;
更改为 set @XX = 0;
关于mysql - 尝试使用 ":="将值分配给 select 中的过程变量时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42569406/