plsql - PS/SQL dereference from nested table -
i got nested table reference other object:
tables:
create type towar object ( towar_id integer, nazwa varchar2(64), cena decimal(6,2) ); create table towar_tab of towar; create or replace type towar_zamowienie object ( ilosc integer, produkt ref towar ); create type towar_zamowienie_tab table of towar_zamowienie; create table zamowienie_tab ( id_zamowienie integer primary key, klient ref klient, towary towar_zamowienie_tab ) nested table towary store zamowienie_towar_nested;
procedure:
declare cursor zamowienia select deref(klient) k, id_zamowienie id_zam, towary zamowienie_tab; integer; tow towar; begin r in zamowienia loop dbms_output.put_line(r.id_zam); in 1 .. r.towary.count loop --select (deref(v)) tow r.towary(i) v; dbms_output.put_line(' '||i||'. ['||r.towary(i).ilosc||'] ' || tow.nazwa); end loop; end loop; null; end;
now in r.towary
have nested table produkt ref towar
, want print field nazwa
. commented line doesn't work, says 'sql command not ended' , have dereference it. make relation, have use objects , references.
replace line
select (deref(v)) tow r.towary(i) v;
with
select deref(r.towary(i).produkt) tow dual;
r.towary(i)
isn't table can't select
it. furthermore, tow
has type towar
, , r.towary(i)
towar_zamowienie
, assume want access produkt
attribute.
Comments
Post a Comment