Конечно. Объявить коллекцию
create package pkg_coll
as
type emp_tbl is table of emp%rowtype;
end;
/
Затем вы можете использовать тип коллекции в качестве аргумента для процедуры
create or replace procedure proc_coll( p_emps in out pkg_coll.emp_tbl )
as
begin
for i in 1 .. p_emps.count
loop
dbms_output.put_line( p_emps(i).empno );
end loop;
p_emps(1).ename := 'CAVE';
end;
Который вы можете затем назвать
SQL> declare
2 l_emps pkg_coll.emp_tbl;
3 begin
4 select *
5 bulk collect into l_emps
6 from emp;
7 proc_coll( l_emps );
8 end;
9 /
7369
7499
7521
7566
7654
7698
7782
7788
7839
7844
7876
7900
7902
7934
PL/SQL procedure successfully completed.