Ora错误 - 06553 - 呼叫中的参数数量错误

时间:2016-08-25 09:53:40

标签: oracle plsql oracle11g

我创建了一个类型如下:

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

1 个答案:

答案 0 :(得分:1)

您的函数需要类型为colist_array单个参数。您使用一个或多个varchar参数调用它。

创建类型实例的正确语法是:colist_array('XXY','SDD','DFS')

所以你的select语句应该是:

select sel_tst(colist_array('XXY','SDD','DFS'))
from dual;