本文共 500 字,大约阅读时间需要 1 分钟。
1. 创建自定义的类型。由于Oracle没有提供现成的array类型,这里用table类型来模拟。
CREATE OR REPLACE TYPE varchar_array is
Table OF varchar2(4000)
2. 创建一个存储过程test1
create or replace function fun11(arr varchar_array) return number
is
l_str varchar2(30000);
begin
FOR i IN arr.first
.. arr.last LOOP
l_str:=l_str||arr(i); --将传进来的数组合并
END LOOP;
return length(l_str);
end;
测试:
select fun11( varchar_array(‘111‘,‘222‘,‘333‘) ) from
dual;
使用场景:
当传入的字符串参数的长度>4000时就会报错. 使用这种方式可能解决
大字符串参数的问题
原文:http://www.cnblogs.com/chencidi/p/3586555.html