--创建类型
create or replace type NumberArray is table of number;--创建函数
create or replace function toNumberArray(numString varchar2)
return NumberArray
as
arr NumberArray;
v_sql varchar2(2000):='';
begin
     if numString is null or length(numString)=0 then
        return null;
     end if;
     for i in 1..length(numString)
     loop
         v_sql:=v_sql||substr(numString,i,1)||',';
     end loop;
     v_sql:=substr(v_sql,1,length(v_sql)-1);
     v_sql:='declare
                arr NumberArray:=NumberArray('||v_sql||');
             begin
                :O_arr:=arr;
             end;
            ';
     execute immediate v_sql using in out arr;
     return arr;
end;--测试
declare
     arr NumberArray;
begin
     arr:=toNumberArray('12345');
     for i in arr.first..arr.last
     loop
         dbms_output.put_line(to_char(i));
     end loop;
end;