My First PL/SQL Procedure

王朝mssql·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有