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();

已经在插入数据了

相关推荐
smilejingwei4 小时前
CodeBuddy+SQLazy 编写复杂 SQL 详解
sql·codebuddy·sqlazy
蒲公英eric11 小时前
从布尔盲注到参数化查询:DVWA SQL 盲注模块完整漏洞分析教程
sql·web安全·ai·dvwa·ai安全·sql 盲注
今天AI了吗12 小时前
MCP 协议打通 AI 与国产数据库,SQL 调优全流程一站式闭环
数据库·人工智能·sql
灯澜忆梦12 小时前
【MySQL11】进阶篇 | 索引_#3使用规则
数据库·sql·mysql·性能优化
云技纵横13 小时前
线上接口突然超时,怎么判断卡在 Nginx、线程池、连接池还是 SQL?
后端·sql·mysql
sugar__salt14 小时前
MyBatis ③动态 SQL 完全指南 —— 从条件拼接到批量操作
java·sql·mybatis
fchen52115 小时前
JSON:一站式开发者工具集,SQL日志解析并填充 、JSON格式化 与文本比对
sql·microsoft·json
x-cmd16 小时前
用 Rust 打造 AI 时代的 SQL:把重复任务变成可执行文件
数据库·人工智能·sql·ai·容器·rust·workflow
灯澜忆梦1 天前
【MySQL10】进阶篇 | 索引_#2性能优化
数据库·sql·mysql·性能优化
Exclusive_Cat1 天前
MySQL回表机制解析与优化策略
数据库·sql