在写存储过程时使用游标出错
create procedure p2()
begin
declare id int;
declare iname varchar(15);
declare flag int default 0;
-- 声明游标
declare mc cursor for select * from account;
declare continue handler for not found set flag = 1;
-- 打开游标
open mc;
-- 获取结果
l:loop -- 循环,将表的内容都转移到class2中
fetch mc into id,iname;
if flag=1 THEN
leave l;
end if;
-- 这里是为了显示获取结果
insert into account2 values(id,iname);
-- 关闭游标
end loop;
close mc;
end;
原因:
游标select的字段数需要与fetch into的变量数一致