--创建类型
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;
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;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货