cursor 循环

drop procedure if exists aaa;

delimiter &&

create procedure `aaa`()

BEGIN

declare a,b varchar(20);

/* 设定一个游标循环结束的标识 */

DECLARE done INT DEFAULT 0;

/* 创建一个游标 */

declare c_bb cursor for select user,pass from t_old_user;

/* 定义 设置循环结束标识done值怎么改变的逻辑 */

    /* Handler:消息处理模型/系统,使动作在不同的线程中被执行 */

/* 当done为true的场合,要去做什么事情;数据溢出的场合,结束循环用 */

declare continue HANDLER for not FOUND set done = 1;

/* 打开游标 */

open c_bb;

/* loop循环 */

aaaLoop : LOOP

fetch c_bb into a,b;

if done=1 then LEAVE aaaLoop;

else

insert into t_user_01 values (null, a, b);

end if;

end loop;

close c_bb;

end

&&

delimiter;

call aaa();

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容