先记录一下,有空补完
create procedure my_procedure() -- 创建存储过程
begin -- 开始存储过程
declare my_user_id varchar(48); -- '唯一标识,用户id',
declare my_login_code varchar(64); -- '账号',
declare my_name varchar(64); -- '姓名',
declare my_phone varchar(11); -- '手机',
declare my_sex varchar(2); -- '性别',
declare my_isc_id varchar(48); -- '统一权限id',
declare my_create_time datetime; -- '创建时间',
declare my_creater varchar(48); -- '创建人',
declare my_update_time datetime; -- '更新时间',
declare my_updater varchar(48); -- '更新人',
declare my_nickname varchar(48); -- '昵称',
declare my_user_icon varchar(48); -- '头像',
declare my_isdelete tinyint(1); -- '是否删除',
declare my_source varchar(2); -- '用户来源1、管理员添加2、web注册',
declare my_is_check varchar(2); -- '是否审核',
declare done int default false; -- 自定义控制游标循环变量,默认false
declare my_cursor cursor for ( select user_id,login_code,name,phone,sex,isc_id,create_time,creater,update_time,updater,name,pic_img,isdelete,source,is_check from user_info ); -- 定义游标并输入结果集
declare continue handler for not found set done = true; -- 绑定控制变量到游标,游标循环结束自动转true
open my_cursor; -- 打开游标
myloop: loop -- 开始循环体,myloop为自定义循环名,结束循环时用到
fetch my_cursor into my_user_id,my_login_code,my_name,my_phone,my_sex,my_isc_id,my_create_time,my_creater,my_update_time,my_updater,my_nickname,my_user_icon,my_isdelete,my_source,my_is_check; -- 将游标当前读取行的数据顺序赋予自定义变量12
if done then -- 判断是否继续循环
leave myloop; -- 结束循环
end if;
-- 自己要做的事情,在 sql 中直接使用自定义变量即可
insert into sp_user values(my_user_id,my_login_code,my_name,my_phone,my_sex,my_isc_id,my_create_time,my_creater,my_update_time,my_updater,my_nickname,my_user_icon,my_isdelete,my_source,my_is_check); -- 左右去空格
commit; -- 提交事务
end loop myloop; -- 结束自定义循环体
close my_cursor; -- 关闭游标
end; -- 结束存储过程
call my_procedure();
drop procedure my_procedure;