Если gtyp_folderids_table
объявлено как тип SQL (в отличие от типа PL / SQL), вы можете использовать его в операторе SQL с помощью функции table()
, например:
SELECT documentid
BULK COLLECT INTO gnt_documentids
FROM t$documents
WHERE parent_folderid in ( select * from table( paa_folderids_i));
редактировать
Если вы хотите получить ответ на PL / SQL, в 10g есть более эффективный способ - или, по крайней мере, подход, который требует меньше ввода;).
Oracle представила несколько аккуратных операторов множеств, которые мы можем использовать с коллекциями. В следующем примере MULTISET UNION объединяет несколько коллекций в одну ...
SQL> set serveroutput on size unlimited
SQL>
SQL> declare
2 v1 sys.dbms_debug_vc2coll
3 := sys.dbms_debug_vc2coll('SAM I AM', 'FOX IN SOCKS');
4 v2 sys.dbms_debug_vc2coll
5 := sys.dbms_debug_vc2coll('MR KNOX', 'GRINCH');
6 v3 sys.dbms_debug_vc2coll
7 := sys.dbms_debug_vc2coll('LORAX', 'MAISIE');
8 v_all sys.dbms_debug_vc2coll := sys.dbms_debug_vc2coll();
9 begin
10 dbms_output.put_line('V_ALL has '|| v_all.count() ||' elements');
11 v_all := v1 multiset union v2;
12 dbms_output.put_line('V_ALL has '|| v_all.count() ||' elements');
13 v_all := v_all multiset union v3;
14 dbms_output.put_line('V_ALL has '|| v_all.count() ||' elements');
15 end;
16 /
V_ALL has 0 elements
V_ALL has 4 elements
V_ALL has 6 elements
PL/SQL procedure successfully completed.
SQL>
Узнайте больше о коллекциях в 10g .