declare
v_num number :=1;
v_num1 number :=0;
begin
for jieguo in(
select d.transcode ,d.errorreason from HEALTH22PERROR d where d.transcode like '9025%'
)
loop
v_num1 :=0;
loop
v_num1 :=v_num1+1;
v_num :=instr(jieguo.errorreason,';',1,v_num1);
if v_num =0 and v_num1=1 then insert into health21perror values(jieguo.transcode,jieguo.errorreason);
elsif v_num=0 and v_num1>1 then
insert into health21perror
values(jieguo.transcode,
substr(jieguo.errorreason,instr (jieguo.errorreason,';',1,v_num1-1)+1,
length (jieguo.errorreason)-instr(jieguo.errorreason,';',v_num1)));
elsif v_num1>0 and v_num1=1 then
insert into health21perror values(jieguo.transcode,substr(jieguo.errorreason,1,v_num-1));
elsif v_num>0 and v_num1>1 then
insert into health21perror
values (jieguo.transcode,
substr(jieguo.errorreason,instr(jieguo.errorreason,';',1,v_num1-1)+1,
v_num-1-instr (jieguo.errorreason,';',1,v_num1-1)));
end if;
exit when v_num=0;
end loop;
end loop;
commit;
end;
--select errorreason ,count(transcode) from health21perror group by errorreason
v_num number :=1;
v_num1 number :=0;
begin
for jieguo in(
select d.transcode ,d.errorreason from HEALTH22PERROR d where d.transcode like '9025%'
)
loop
v_num1 :=0;
loop
v_num1 :=v_num1+1;
v_num :=instr(jieguo.errorreason,';',1,v_num1);
if v_num =0 and v_num1=1 then insert into health21perror values(jieguo.transcode,jieguo.errorreason);
elsif v_num=0 and v_num1>1 then
insert into health21perror
values(jieguo.transcode,
substr(jieguo.errorreason,instr (jieguo.errorreason,';',1,v_num1-1)+1,
length (jieguo.errorreason)-instr(jieguo.errorreason,';',v_num1)));
elsif v_num1>0 and v_num1=1 then
insert into health21perror values(jieguo.transcode,substr(jieguo.errorreason,1,v_num-1));
elsif v_num>0 and v_num1>1 then
insert into health21perror
values (jieguo.transcode,
substr(jieguo.errorreason,instr(jieguo.errorreason,';',1,v_num1-1)+1,
v_num-1-instr (jieguo.errorreason,';',1,v_num1-1)));
end if;
exit when v_num=0;
end loop;
end loop;
commit;
end;
--select errorreason ,count(transcode) from health21perror group by errorreason