首页 > 开发 > 综合 > 正文

My First PL/SQL Procedure

2024-07-21 02:05:25
字体:
来源:转载
供稿:网友

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;
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表