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

已经在插入数据了

相关推荐
吴声子夜歌15 小时前
SQL经典实例——使用多张表
数据库·sql
摇滚侠19 小时前
MyBatis 入门到项目实战 特殊 SQL 的执行 34-37
java·sql·mybatis
layflat_coder20 小时前
NL2SQL 正确率怎么提升:ChatBI 的 `<error-msg>` 错误反馈闭环
sql
摇滚侠1 天前
MyBatis 入门到项目实战 MyBatis 分页插件 65-66
java·开发语言·sql·mybatis
北风toto1 天前
深度拆解:本体与智能体协同生成SQL的底层逻辑与工程实践
数据库·sql·microsoft
倒流时光三十年1 天前
PostgreSQL NULLIF 条件表达式函数详解
数据库·sql·postgresql
czhc11400756631 天前
614 :代码修正: halcon 注销;sql配置修改
sql
吴声子夜歌1 天前
SQL经典实例——插入、更新和删除
数据库·sql
山峰哥1 天前
VBA数据结构之争:Dictionary vs Collection,性能差3倍!
服务器·数据结构·数据库·windows·sql·算法·哈希算法
仙俊红2 天前
SQL 调优需要掌握的知识
数据库·sql