[ORACLE & BDII] errore ref()
Dati questi script di crezione :
code:
-- tipo orario
CREATE OR REPLACE TYPE t_orario AS OBJECT
(
TitoloMostra VARCHAR(40),
Giorno VARCHAR(15),
OraApertura NUMBER(5),
OraChiusura NUMBER(5)
)
/
CREATE OR REPLACE TYPE Set_orario AS TABLE OF REF t_orario
/
CREATE TABLE R_Museo
(
Indirizzo VARCHAR(40) PRIMARY KEY,
Telefono NUMBER(20),
Piano Set_piano,
Orario Set_orario
)
NESTED TABLE Piano STORE AS tab_piani
NESTED TABLE Orario STORE AS tab_orari
/
-- tabella tipata orario
CREATE TABLE R_Orari OF t_orario
(
PRIMARY KEY(TitoloMostra,Giorno)
)
/
e l'inserimento:
code:
insert into R_Museo values ('Firenze via della Ninna 5','0552388651',Set_piano(),Set_orario());
insert into R_Orari values ('Museo','Martedi','0815','1900');
insert into TABLE(select orario from R_Museo where indirizzo='Firenze via della Ninna 5')
select ref(o) from R_Orari o where o.TitoloMostra = 'Museo';
noi volevamo accedere ai campi di orario attravesto la tabella mostra attravesto la query :
code:
select orario.giorno from r_mostra
ma restituisce
code:
select orario.giorno from r_museo
*
ERRORE alla riga 1:
ORA-00904: "ORARIO"."GIORNO": identificativo non valido
e provando questa query:
code:
select orario from r_museo;
restituisce :
code:
SET_ORARIO(0000220208F3197F8638CF46369228A3A0E927E
AA0BF9E2AFE26A94DCB
2C832)
che dovrebbe essere l'indirizzo di riferimento alla tabella orario, quindi mettendo il ref(orario) sulla select ...
code:
select ref(orario) from r_museo;
dovrebbe andare ma invce...
code:
select ref(orario) from r_museo
*
ERRORE alla riga 1:
ORA-00904: "ORARIO": identificativo non valido
qualcuno sa aiutarci??
|