Можете да създадете тип колекция и да подадете параметъра като екземпляр от този тип.
SQL> create type num_array as table of number;
2 /
Type created.
SQL> create or replace function myfun ( arr_in num_array ) return varchar2 is
2 txt varchar2(1000);
3 begin
4 for i in 1..arr_in.count loop
5 txt := txt || to_char( arr_in(i) ) || ',';
6 end loop;
7 return txt;
8 end;
9 /
Function created.
SQL> declare
2 myarray num_array;
3 mytext varchar2(1000);
4 begin
5 myarray := num_array();
6 myarray.extend(3);
7 myarray(1) := 1;
8 myarray(2) := 5;
9 myarray(3) := 9;
10 dbms_output.put_line( myfun( myarray ));
11 end;
12 /
1,5,9,
PL/SQL procedure successfully completed.