我想在mysql过程中将串联值添加到params变量中。但是mysql说它有一个语法错误。我在这里做的语法错误是什么?
SET parms =CONCAT('s','sa');
DECLARE CONTINUE HANDLER FOR NOT FOUND SET exit_loop = TRUE;
Mysql抱怨错误在第二行。但是我认为我在第一行做错了什么。
您的问题是您放置DECLARE
在错误的位置。
DECLARE语法
DECLARE仅在BEGIN ... END复合语句内部允许,并且必须在其开始处以及任何其他语句之前。
以上声明必须遵循特定的顺序:
话虽这么说,这会很好
DECLARE parms VARCHAR(32);
DECLARE exit_loop INT;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET exit_loop = TRUE;
SET parms = CONCAT('s','sa');
让我们尝试一下:
mysql> DELIMITER // mysql>创建过程myproc() -> BEGIN- > DECLARE parms VARCHAR(32); -> DECLARE exit_loop INT; ->未找到的DECLARE继续处理程序set exit_loop = TRUE; -> -> SET parms = CONCAT('s','sa'); ->选择参数; -> END- > // 查询正常,受影响的0行(0.00秒) mysql> DELIMITER; mysql>调用myproc(); + ------- + | 参数| + ------- + | ssa | + ------- + 设置1行(0.00秒) 查询确定,影响0行(0.00秒)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句