我创建了一个类型如下:
create type colist_array as table of varchar(3);
创建功能:
create or replace function sel_tst(colm_lst colist_array)
return colist_array
as
--Declaration and Initialization
a colist_array := colist_array();
begin
for i in 1..colm_lst.count
loop
a.extend;
a(i):= colm_lst(i);
end loop;
return (a);
end;
现在正在调用时,它会抛出错误 -
错误的参数数量
请在此提出任何建议。
select sel_tst('XXY') from dual; -- Not working
select sel_tst('XXY,SDD,DFS') from dual; -- Not working
select sel_tst('XXY','YDY') from dual; -- Not working
答案 0 :(得分:1)
您的函数需要类型为colist_array
的单个参数。您使用一个或多个varchar
参数调用它。
创建类型实例的正确语法是:colist_array('XXY','SDD','DFS')
所以你的select语句应该是:
select sel_tst(colist_array('XXY','SDD','DFS'))
from dual;