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;--截取数据



    为什么外层循环直走一次

https://blog.csdn.net/u011410254/article/details/52027542