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

已经在插入数据了

相关推荐
Full Stack Developme6 小时前
SQL 注入 的历史及设计工作原理
数据库·sql
阿坤带你走近大数据6 小时前
SQL里where后面的1=1是干嘛的,走的是什么索引
数据库·sql
阿坤带你走近大数据6 小时前
SQL的执行顺序和书写顺序的介绍
数据库·sql·oracle
茶本无香7 小时前
Java调用Shell脚本执行SQL数据库操作:从入门到实战
java·sql·shell
码农颜8 小时前
5.6.2 ⾏级锁死锁
数据库·sql·oracle
倒流时光三十年15 小时前
第六阶段 57 · ES|QL 与 SQL API(用 SQL 查 ES)
数据库·sql·elasticsearch
隔窗听雨眠16 小时前
SQLAOT深度解析:智能SQL优化辅助工具的设计与实践
java·数据库·sql
vHelios16 小时前
SQL不会写?不会找关联表?复杂SQL语句编写逻辑实现思路请查收✉
数据库·sql
xiancai_xianyu17 小时前
企业智能问数怎么落地,从自然语言到SQL那道坎有多难
数据库·人工智能·sql·text2sql·企业智能问数·agentrag·ai推理可视化
麻瓜code1 天前
【Mysql】重新学一遍 SQL 执行顺序
数据库·sql