步骤一.

步骤二.

步骤三.

步骤4.设置输入输出参数

步骤5.再begin,end里写代码就可以了

这里我写了一段存储过程。大意是按时间递增分别向两张表插入30000条数据
CREATE DEFINER=`mycat2`@`%` PROCEDURE `inst`()
BEGIN
DECLARE i INT;
declare j int;
declare ym varchar(6);
declare y varchar(4);
declare m varchar(2);
set j = 0;
set y = '2018';
set m = '01';
while j < 1000 do
-- 每12个月加1年
if mod(j,12)=0 then
set m = '01';
set y = y + 1;
else
set m = m + 1;
end if;
set ym = concat(y,right(concat(10,m),2));
set i = 0;
while i < 30 do
insert into table1(fund_account,opt_this_asset,opt_last_asset,opt_day_income,part_init_date) values('1',10.2+i,10.3+i,10.4+i,concat(ym,right(concat(10,i+1),2)));
insert into table3(fund_account,part_init_date,name) values('1',concat(ym,right(concat(10,i+1),2)),concat('Bob',30*j+i));
set i = i + 1;
end while;
-- 每30天加一个月
set j = j + 1;
end while;
END
保存运行 结果如下
table1.

table3.

注意:
1.mysql存储过程中中declare必须写在最前面。
2.变量前不加@
本文介绍了一个MySQL存储过程,用于按时间递增方式向两个表中批量插入30000条数据。通过循环和条件判断,实现每年每月增加,并在指定表中插入带有时间戳的数据。
4万+

被折叠的 条评论
为什么被折叠?



