Как вы указываете предложение IN в динамическом запросе с использованием переменной?

В PL / SQL вы можете указать значения для оператора IN с помощью конкатенации:

v_sql := 'select field1 from table1 where field2 in (' || v_list || ')'; 

Можно ли сделать то же самое с помощью переменной?

 v_sql := 'select field1 from table1 where field2 in (:v_list)'; 

Если да, то как?

EDIT: Что касается ответа Marcin, как выбрать из результирующей таблицы?

 declare cursor c_get_csv_as_tables is select in_list(food_list) food_list from emp_food where emp_type = 'PERM'; cursor c_get_food_list (v_food_table varchar2Table)is select * from v_food_table; begin for i in c_get_csv_as_tables loop for j in c_get_food_list(i.food_list) loop dbms_output.put_line(j.element); end loop; end loop; end; 

Я получаю следующую ошибку:

 ORA-06550: line 10, column 6: PL/SQL: ORA-00942: table or view does not exist ORA-06550: line 9, column 1: PL/SQL: SQL Statement ignored ORA-06550: line 15, column 34: PLS-00364: loop index variable 'J' use is invalid ORA-06550: line 15, column 13: PL/SQL: Statement ignored