首先你的字符串必须有分隔符,比如‘$’,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; 这样数组赋值成功。
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;
这样数组赋值成功。