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;