mysql 是不是不支持游标嵌套???

ntgt2008 2007-11-20 11:14:07
在MS-SQL中,很容易实现,而在MYSQL怎么这么麻烦?看说明,好象MYSQL5已经支持了呀。
以下代码有错误吗?

delimiter //
CREATE PROCEDURE `testproc`(IN jjrbh varchar(8))
BEGIN

declare khbh varchar(8);
declare khxm varchar(20);
declare done1 int default 0;
declare done2 int default 0;

declare branch_cur cursor
for
select fkhbh from j_jjdygx where fjjrbh=jjrbh;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done1 = 1;

open branch_cur;

REPEAT
FETCH branch_cur into khbh;
IF (not done1) THEN
begin
declare customer_cur cursor
for
select fkhxm from k_khxx where fkhbh=khbh;
declare continue handler for sqlstate '02000' set done2=1;
open customer_cur cursor
repeat
fetch customer_cur into khxm
if (not done2) then
insert into temp values(khxm);
end if;
until done2
end repeat;
close customer_cur;
end;

END IF;
UNTIL done1
END REPEAT;
close branch_cur;
END //
delimiter ;
...全文
174 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
OracleRoob 2007-11-21
  • 打赏
  • 举报
回复
变通一下,用循环处理。
lgjlry 2007-11-21
  • 打赏
  • 举报
回复
不支持
懒得去死 2007-11-20
  • 打赏
  • 举报
回复
http://blog.chinaunix.net/u/29134/showart_405104.html
懒得去死 2007-11-20
  • 打赏
  • 举报
回复
这种东西用循环也可以做。你转换一下。游标不推荐
ntgt2008 2007-11-20
  • 打赏
  • 举报
回复
关键是第二个游标要使用到第一个游标检索出来的数据。而且两个游标查询的并不是同一张表。两个游标检索出来的数据都是多行的记录。

56,679

社区成员

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

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