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时就会报错.  使用这种方式可能解决 大字符串参数的问题

oracle Array类型作为参数传入函数(存储过程) 大字符串参数解决方案,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。