存储过程 游标 问题求助%>_<%

tysforwork 2012-11-18 04:02:20


BEGIN
DECLARE stopIDX int DEFAULT 0;
DECLARE returnVal varchar(222) DEFAULT '' ;
DECLARE mycursor CURSOR FOR
SELECT line.Line_ID FROM line;-- line表有6条记录

DECLARE CONTINUE HANDLER FOR NOT found SET stopIDX = 1;

OPEN mycursor;

REPEAT
FETCH mycursor INTO returnVal;
SELECT returnVal;-- 有7个结果集(第6个和第7个结果集是一样的)
UNTIL stopIDX
END REPEAT;

CLOSE mycursor;
END




描述:mysql 中有以上存储过程, 将line 表(只有6条记录) 的id 赋给游标,遍历游标,出现有7个结果集(第6个和第7个结果集是一样的),到底是哪里出错了。谢谢

...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tysforwork 2012-11-20
  • 打赏
  • 举报
回复
引用 3 楼 tysforwork 的回复:
引用 1 楼 ACMAIN_CHM 的回复:BEGIN DECLARE stopIDX int DEFAULT 0; DECLARE returnVal varchar(222) DEFAULT '' ; DECLARE mycursor CURSOR FOR SELECT line.Line_ID FROM line;……
不好意思 ,没看清楚,问题得到解决。谢谢了
tysforwork 2012-11-20
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
BEGIN DECLARE stopIDX int DEFAULT 0; DECLARE returnVal varchar(222) DEFAULT '' ; DECLARE mycursor CURSOR FOR SELECT line.Line_ID FROM line;-- line表有6条记录 ……
我想遍历他 但是总是多了个 结果。。。
WWWWA 2012-11-19
  • 打赏
  • 举报
回复
FETCH mycursor INTO returnVal; WHILE stopIDX=0 DO SELECT returnVal;-- 有7个结果集(第6个和第7个结果集是一样的) FETCH mycursor INTO returnVal; END WHILE;
ACMAIN_CHM 2012-11-18
  • 打赏
  • 举报
回复
BEGIN DECLARE stopIDX int DEFAULT 0; DECLARE returnVal varchar(222) DEFAULT '' ; DECLARE mycursor CURSOR FOR SELECT line.Line_ID FROM line;-- line表有6条记录 DECLARE CONTINUE HANDLER FOR NOT found SET stopIDX = 1; OPEN mycursor; REPEAT FETCH mycursor INTO returnVal; if stopIDX=0 then SELECT returnVal;-- 有7个结果集(第6个和第7个结果集是一样的); end if UNTIL stopIDX END REPEAT; CLOSE mycursor; END

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧