本次为了支持测试工作,需要将表中每1000个ID读取成一行。
做法:1、首先按rownum,1000条分一组:ceil(rownum/1000),将组号和id 的关系插入msg_tab_cn表。
insert into msg_tab_cn as select ceil(rownum/1000) cn,id from (select id from msg_tab order by substr(id,-1));
2、按分组建索引
create index id_ru on msg_tab_cn(cn);
3、合并每个1000行。
begin
for v_loop in 0..9999 loop
insert into msg_fin select replace(wm_concat(id),',',';') from msg_tab_cn where cn = v_loop;
if mod(v_loop,100) =0 then
commit;
end if;
end loop;
end;