SQL之使用存储过程循环插入数据

1、已经创建了任务日志表

复制代码
CREATE TABLE `t_task_log` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `task_id` bigint NOT NULL COMMENT '任务ID',
  `read_time` bigint NOT NULL COMMENT '单位秒,读取耗时',
  `write_time` bigint NOT NULL COMMENT '单位秒,写入耗时',
  `read_size` bigint NOT NULL COMMENT '读取记录数,单位条',
  `write_size` bigint NOT NULL COMMENT '写入记录数,单位条',
  `status` int NOT NULL COMMENT '0表示执行中,1表示执行失败,2表示执行成功',
  `created_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
  `created_datetime` datetime NOT NULL,
  `last_updated_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
  `last_updated_datetime` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=485521 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

2、创建存储过程

复制代码
DROP PROCEDURE loopAddLog;
 
CREATE PROCEDURE loopAddLog()
begin
declare i int;
set i = 1;
repeat
	INSERT INTO hmblogs.t_task_log
	(task_id, read_time, write_time, read_size, write_size, status, created_by, created_datetime, last_updated_by, last_updated_datetime)
	VALUES(i, 10, 10, 100000, 100000, i%3, 'admin', now(), 'admin', now());
    set i = i + 1;
until i >= 100000000
end repeat;


end

3、执行存储过程

复制代码
call loopAddLog();

已经在插入数据了

相关推荐
暴躁小师兄数据学院10 小时前
【AI大数据工程师特训笔记】第05讲:关联查询
数据库·sql·oracle
lzhdim10 小时前
SQL 入门 17:MySQL 数据类型:从字符串到 JSON 的全面解析
数据库·sql·mysql·json
tedcloud12313 小时前
cc-switch评测:多AI Coding Agent管理工具详解
数据库·人工智能·sql·学习·自动化
土狗TuGou13 小时前
SQL内功笔记 · 第8篇:事务的四大特性与隔离级别
数据库·笔记·后端·sql·mysql·oracle
数据库小学妹15 小时前
关系型数据库核心原理拆解:SQL解析、事务引擎、存储结构全链路分析
数据库·经验分享·sql·数据库架构·dba
逍遥运德15 小时前
PostgreSQL ---【序列】用法详解
后端·sql·postgresql
数据库小学妹17 小时前
InnoDB内存架构解密:Buffer Pool与性能优化实战
数据库·经验分享·sql·性能优化·架构
Lyyaoo.17 小时前
【MySQL】SQL优化
android·sql·mysql
xcLeigh19 小时前
KES数据库运维监控与故障排查实战
运维·数据库·sql·故障排查·运维监控·kes
yuzhiboyouye19 小时前
原生 SQL 常用核心语句基础语法
数据库·sql·oracle