create or replace procedure cuidong_insert_records(p_ny in varchar2) is
qystr varchar2(260) := '大庆,吉林,辽河,冀东,江苏,胜利,华东分公司,储气库,
中原,河南,中海油,海南,华北,江汉,浙江勘探,';
qy MK_CSYB_XBSC.QY%TYPE;
qy_position number(2);
qy_loop number(2) := 1;
dwdmstr varchar2(300) :='YKGFGS,EKGFGS,SKGFGS,JDFWZX,XWWHZX,TBWGS,GHSHGS,GSSHGS,
JSJDZX,SYJLZX,HSE,GCJL,TXGS,GSGS,JS,SD,KYGS,';
temp_dwdmstr varchar2(300);
dwdm MK_CSYB_XBSC.DWDM%TYPE;
dwdm_position number(2);
dwdm_loop number(2) := 1;
do_count number(2) := 0;
begin
loop
do_count := do_count + 1;
qy_position := instr(qystr,',');
qy := substr(qystr,1,qy_position-1);
qystr := substr(qystr,qy_position+1,length(qystr));
DBMS_OUTPUT.PUT_LINE(do_count||' '||qy_position||' '||qy||' '||p_ny);
dwdm_loop := 1;
temp_dwdmstr := dwdmstr;
loop
dwdm_position := instr(temp_dwdmstr,',');
dwdm := substr(temp_dwdmstr,1,dwdm_position-1);
temp_dwdmstr := substr(temp_dwdmstr,dwdm_position+1,length(temp_dwdmstr));
DBMS_OUTPUT.PUT_LINE(' '||dwdm_position||' '||dwdm||' '||p_ny);
insert into MK_CSYB_DBSC( NY, QY, LRRQ, LRRY, ZBDW, DWDM )
values(p_ny,qy,date'2005-04-05','东部市场录入','市场开发部',dwdm);
dwdm_loop := dwdm_loop + 1;
if dwdm_loop = 18 then
exit;
end if;
end loop;
qy_loop := qy_loop + 1;
if qy_loop = 16 then
exit;
end if;
end loop;
commit;
exception when others then
rollback;
end cuidong_insert_records;
本文地址:http://com.8s8s.com/it/it19163.htm