Archive for Oracle

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

Comentaris