Bonjour,
j'ai un type qui contient une table imbriquée d'un autre type qui contient elle-même une table imbriquée...
comment je peut créer une table objet à partir de ce type ?
pour exemple, voici le type principal dont je veux créer une table objet :
CREATE OR REPLACE Type Tpersonne as object
(
id_personne varchar2(50),
Inscriptions NTinscription
)
le type imbriqué NTinscription :
CREATE OR REPLACE Type NTinscription as TABLE OF Tinscription;
qui fait appel au type Tinscription :
CREATE OR REPLACE TYPE TInscription AS OBJECT
(
options NT_RefOptions
)
qui fait appel au type imbriqué NT_RefOptions :
CREATE TYPE NT_RefOptions AS TABLE OF REF TOption;
qui fait appel au type simple (enfin) TOption :
CREATE OR REPLACE TYPE TOption AS OBJECT
(
libelle VARCHAR2(30),
prix NUMBER
)
Voila, pour créer la table objet de personne je fais :
CREATE TABLE Opersonne OF Tpersonne (Constraint pk_personne primary key(id_personne)) nested table Inscriptions store as NTinscription_tab;
mais oracle me répond :
ERREUR à la ligne 1 :
ORA-02320: Echec de création d'une table de stockage pour la colonne de table imbriquée INSCRIPTIONS
ORA-22913: il est impératif d'associer un nom de table à une colonne ou un
attribut de table imbriquée
et je ne sais pas comment on fait pour spécifier le nom de table pour le type imbriqué NT_RefOptions![]()
Pouvez-vous m'aider ?
PS: je suis sur oracle 9i.2
Partager