Com fer una select sobre una col·lecció Oracle
Per Col·lecció, ens referim a un VARRAY o a una Nested Table. Necessitarem crear-nos la col·lecció en la Base de Dades, basada en un objecte que també haurem de crear (amb la versió actual, 10g, només podem crear-los en la BD, no en un bloc PL/SQL ni subprograma ni Paquet).
Un exemple podria ser:
create or replace type objecte as object
(
id number(4),
nom varchar2(10)
);
create or replace type coleccio is table of objecte;
1. declare
2. v_tab coleccio := coleccio(objecte(1, 'primer'));
3. cursor p is
4. select *
5. from table(cast(v_tab as coleccio));
6. begin
7. v_tab.extend();
8. v_tab(v_tab.last):=objecte(2, 'segon');
9. for i in p loop
10. dbms_output.put_line(i.id ||' '|| i.nom);
11. end loop;
12.end;
Salut