I try to use variable of table type in SELECT statement, but it occurs error:
DECLARE
TYPE v2t IS TABLE OF table_a.id%TYPE INDEX BY BINARY_INTEGER;
TYPE test_type IS TABLE OF table_a.id%TYPE INDEX BY BINARY_INTEGER;
test_table1 test_type;
test_table2 test_type;
databaseArray v2t;
BEGIN
SELECT id BULK COLLECT INTO test_table1 FROM
(SELECT id FROM test_a WHERE some_flag = 1);
FOR i IN 1..test_table1.COUNT LOOP
databaseArray(i) := test_table1(i);
END LOOP;
SELECT id BULK COLLECT INTO test_table2 FROM
(SELECT id FROM TABLE(databaseArray)); --error ORA-22905
END;
test_table1 is not visible as table. Is any way to use test_table1 in SELECT statement? I need to have two subsets of results.