自己写肯定没问题,现成的没有

解决方案 »

  1.   

    首先你的字符串必须有分隔符,比如‘$’,instr='a$b$c$d$e$f$g$h';然后照着下面做。
    create procedure split(instr in varchar2) 
    istype Arecord1 is varray(8) of varchar2(50);
    records1 Arecord1:=Arecord1('','','','','','','','');
    i int;
    j int;
    str varchar2(5000);
    BEGIN    
      j:=0;
      str:=instr;
      while true loop
        i:=instr(str,'$');
        if i<=0 then
          exit;
        end if;   
        j:=j+1;
        records1(j):=substr(str,1,i-1);
        str:=substr(str,i+1);    
      end loop;    
      j:=j+1;
      records1(j):=str;
    for k in 0..7 loop
    --records1(k);--对records1(k)进行操作。
    end loop; 
    这样数组赋值成功。