| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 
 |  
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 
Connected as mni
 
SQL> set serveroutput on
SQL> 
SQL> create or replace procedure foo (
  2    p_list_emp  In sys.odcivarchar2list
  3  ) Is
  4  Begin
  5    For enr In (Select t.first_name
  6                  From hr.employees t
  7                  Where t.job_id in (Select column_value
  8                                       From Table(p_list_emp)
  9                                    )
 10                )
 11    Loop
 12      dbms_output.put_line(enr.first_name);
 13    End Loop;
 14  End;
 15  /
 
Procedure created
SQL> declare
  2    l_list sys.odcivarchar2list := sys.odcivarchar2list('AC_MGR','IT_PROG','ST_CLERK');
  3  begin
  4    foo(l_list);
  5  end;
  6  /
 
Shelley
Diana
Valli
David
... 
PL/SQL procedure successfully completed
 
SQL> | 
Partager