mysql for循环储存过程
数据库200多万条数据,整表关联更新耗时8个小时没有结果
索性尝试了一下储存过程划分数据循环更新,耗时453秒,真香
delimiter // # 定义//为一句sql的结束标志,取消;的所代表的意义
drop procedure if exists test; # 如果存在名字为test的procedure则删除
create procedure test() # 创建函数
begin
declare 许可证号_tmp varchar(50); # 声明变量
declare flag int default 0; # 声明变量
declare s_list cursor for select 许可证号 from 许可证; -- 声明游标
declare continue handler for not found set flag=1;
open s_list; # 打开游标
fetch s_list into 许可证号_tmp; # 使用游标
while flag <> 1 do
# 此处放置更新语句
select 许可证号_tmp;
fetch s_list into 许可证号_tmp;
end while;
close s_list; # 关闭游标
end
//
delimiter ;
call test();
出处: https://www.cnblogs.com/meizhengchao/p/16914817.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(meizhengchao@qq.com)咨询.