oracle Array类型作为参数传入函数(存储过程) 大字符串参数解决方案
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时就会报错. 使用这种方式可能解决 大字符串参数的问题
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。