2012-02-21 3 views

ответ

2

Несомненно. Объявляем сбор

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. 
+0

Спасибо. Это работа! – user1087287

Смежные вопросы