關於MySQL遊標的巢狀使用

denniswwh發表於2009-05-18
前幾天群裡有人問MySQL的遊標能不能巢狀使用,想當然地以為不能,後來試了下,居然可以,唉,不能隨便想當然啊。例子如下:[@more@]CREATE PROCEDURE curdemo()
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT '
BEGIN
declare done1,done2 int default 0;
declare name1,name2 varchar(20);
declare id1,id2 int;

declare cur1 cursor for select id,name from test1;
declare continue handler for not found set done1 = 1;

open cur1;

repeat
fetch cur1 into id1, name1;
if not done1 then
insert into test3(name) values(name1);
begin
declare cur2 cursor for select id,name from test2;
declare continue handler for not found set done2 = 1;
open cur2;
repeat
fetch cur2 into id2,name2;
if not done2 then
insert into test3(name) values(name2);
end if;
until done2 end repeat;
close cur2;
set done2=0;
end;
end if;
until done1 end repeat;
close cur1;

commit;
END;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/124805/viewspace-1022216/,如需轉載,請註明出處,否則將追究法律責任。

相關文章