My First PL/SQL Procedure

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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值