MYSQL Concat()语法错误?

昌娜

我想在mysql过程中将串联值添加到params变量中。但是mysql说它有一个语法错误。我在这里做的语法错误是什么?

SET parms =CONCAT('s','sa');

DECLARE CONTINUE HANDLER FOR NOT FOUND SET exit_loop = TRUE;

Mysql抱怨错误在第二行。但是我认为我在第一行做错了什么。

术语

您的问题是您放置DECLARE在错误的位置。

DECLARE语法
DECLARE仅在BEGIN ... END复合语句内部允许,并且必须在其开始处以及任何其他语句之前

以上声明必须遵循特定的顺序:

  1. 变量和条件
  2. 游标
  3. 处理程序

话虽这么说,这会很好

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章