当前位置:首页 > 个人杂谈 > 正文内容

MySql提示Incorrect number of FETCH variables怎么解决

作者: 葛屹肃 | 日期: 2021-08-15 | 分类: 个人杂谈

这段时间有个项目使用MySQL,为了方便逻辑处理,写了几个存储过程,而今天修改一个时,在测试时提示:Incorrect number of FETCH variables的错误。


经常使用MySQL的朋友看到提示就知道问题,这就是经验。我算是MySQL小白,前不久才写了第一个MYSQL的存储过程,只好百度一下。

错误提示:Incorrect number of FETCH variables

中文翻译:获取变量的数量不正确

原因:游标select的字段数需要与fetch into的变量数一致

例子:

CREATE PROCEDURE PROC_TEST()
BEGIN
declare done int;
declare temp_program varchar(50);

declare cur_qry cursor for
SELECT program,area FROM t_pb_info where state = 0;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;

open cur_qry;
inLoop:LOOP
FETCH cur_qry into temp_program;
IF done=1 THEN
LEAVE inLoop;
END IF;

set temp_program = null;
END LOOP inLoop;
CLOSE cur_qry;
END

上述例子,游标声明SELECT了2个字段program,area,而fetch into只有一个temp_program变量,因此而报错,要么减少SELECT的字段,要么增加fetch into的变量。

版权声明:本文由〖葛屹肃〗发布,转载请注明出处!
文章链接:https://www.geyisu.com/2102.html

  • 评论:(0)

已有 0 位网友发表了一针见血的评论,你还等什么?

◎欢迎大家参与讨论