|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 2 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 2 ![]() |
j'ai trouvé il fallait simplement rajouter une autre clause nested table entre parenthèse pour spécifier la table des options.
ce qui donne : CREATE TABLE Opersonne OF Tpersonne (Constraint pk_personne primary key(id_personne)) nested table Inscriptions store as NTinscription_tab (nested table options store as NTrefoptions_tab);
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com