DELIMITER $
CREATE PROCEDURE insert_series(totalPage BIGINT)
BEGIN
#声明变量
DECLARE curPage BIGINT DEFAULT 0;
#一次1百万条
DECLARE pageSize BIGINT DEFAULT 1000000;
# 开始条数
DECLARE startCount BIGINT DEFAULT 0;
#while循环,参数 totalPage 决定循环次数,do后面是循环体
WHILE(curPage<totalPage) DO
BEGIN
SELECT curPage;
SET curPage=curPage+1;
SELECT startCount;
SET startCount=(curPage-1)*pageSize;
# sql 语句
INSERT INTO b_table (vehicle_series_name,vehicle_series_code) SELECT vehicle_series_name,vehicle_series_code FROM a_table limit startCount,pageSize ;
END;
#结束循环
END WHILE;
END $
DELIMITER ;
#调用
#CALL insert_series(3)
mysql存储过程编写分页插入数据功能与调用
最新推荐文章于 2024-07-18 04:00:06 发布
这个博客介绍了如何使用MySQL的存储过程实现批量插入数据。通过DECLARE声明变量,设置每批插入的记录数,然后使用WHILE循环按页插入数据,避免一次性加载大量数据导致的性能问题。示例中展示了如何调用该存储过程进行数据分批插入。
647

被折叠的 条评论
为什么被折叠?



