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

已经在插入数据了

相关推荐
bksczm5 分钟前
MySQL基础篇之表的增删查改(CRUD)细则
sql·mysql
不剪发的Tony老师6 分钟前
DuckDB教程:常用文本函数
数据库·sql·数据分析·duckdb
风跟我说过她17 小时前
SQL 一键转经典 Chen 风格 ER 图:开源 CLI + 在线工具 + Agent Skill
数据库·python·sql·开源·开源软件
兀兀术21 小时前
windows下忘记pgsql密码
sql·pgsql
熊文豪1 天前
OceanBaseVS金仓:一条 SQL 的两条路——KingbaseES 的性能竞争力从哪来
数据库·sql·电科金仓
倔强的石头_1 天前
让 AI 直接查公司数据库?先给 SQL 加三道闸:基于蓝耘 MaaS 的只读查询助手
sql
cspttty1 天前
2026年财务分析岗JD中的Excel、SQL、BI与业务分析要求
大数据·sql·excel
cspttty1 天前
HR数字化校招准备路线:Excel、SQL、BI和AI工具怎么学
人工智能·sql·excel
yuzhiboyouye1 天前
那xml对应的sql语法,列举一下
xml·数据库·sql
. . . . .1 天前
乐观锁 vs 悲观锁
数据库·sql