要求:对A表进行批量数据插入,部分字段值来源于其他表字段
(1)代码:
delimiter $$
create procedure preG()
begin
declare i int;
set i=6001;
while i<9000 do
-- 关键词 'IGNORE'
insert IGNORE into assisted_subscribe_detail (id,catalog_id,material_id,unit_id,semester_id,grade_id,user_id,datecreated,studentnum,teachnum,type,subscribe_id)
select i,ml.id, ml.material_id,1, ml.semester_id,jc.grade_id,2,now(),567,45,'subscribe',8 from assisted_catalog ml
inner join assisted_material jc on jc.id = ml.material_id;
set i=i+1;
end while;
end
$$
call preG();
这种方法插入的数据是重复的,即从其他表获取的字段都是重复的第一条记录。
(2)代码:
delimiter $$
CREATE PROCEDURE insertPresaleO()
BEGIN
-- 这四条数据是需要从另外两张表字段中获取
declare catalogId bigint(20); -- 所属征订目录
declare materialId bigint(20); -- 所属教材
declare semesterId bigint(20); -- 所