老友︶
2020-06-15 09:33
采纳率: 21.9%
浏览 144

oracle 数据库双重while循环

begin---截取数据

intstart:=1;

   while intstart<=length(priname) loop
   exit when length(priname)=0;
    ----价格名称
   idx:=instr(priname,'★');
   pname:=substr(priname,1,idx-1);
   priname:=substr(priname,idx+1);  
   begin
     intsta:=1;
     while intsta<=length(partid) loop 
     exit when length(partid)=0;
     ----员工编号
     ids:=instr(partid,'★');
     part:=substr(partid,1,ids-1);
     partid:=substr(partid,ids+1);  
     ----员工姓名
     ids:=instr(partname,'★');
     parts:=substr(partname,1,ids-1);
     partname:=substr(partname,ids+1);

     select max(ID) into mark from OBM_SYS_PRICE_RIGHT_CONTROL;  
     mark:=mark+1;  

     insert into OBM_SYS_PRICE_RIGHT_CONTROL (ID,PERSONNAME,PRICENAME,CREATED_USER,CREATED_DATE,RECORD_STATUS,PERSONID) 
     values (mark,parts,pname,OPERATION_NAME,sysdate,'A',part);         
     end loop;          
   end;               
  end loop;

 end;--截取数据



    为什么外层循环直走一次
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • zqbnqsdsmd 2020-08-26 16:38
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题