Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Débuter
Débuter Forum d'entraide pour débuter avec Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/12/2011, 11h32   #1
Membre à l'essai
 
Étudiant
Inscription : avril 2007
Messages : 84
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 84
Points : 20
Points : 20
Envoyer un message via MSN à honey0 Envoyer un message via Yahoo à honey0
Par défaut insertion dans une table objet contenant une table imbriquée.

Bonjour.

comme dit dans le titre, j'ai créé une table objet dont l'un des champ est une table imbriquée.
Mais je n'arrive pas à faire l'insertion.
Voilà les requêtes de création que j'ai utilisées.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
CREATE OR REPLACE type Tmotcle AS object (mot varchar(20))
/
CREATE TABLE TOmotcle of Tmotcle
/
CREATE OR REPLACE type Tcaracterise AS object (mot ref Tmotcle)
/
CREATE OR REPLACE type NTcaracterise AS TABLE of Tcaracterise
/
CREATE OR REPLACE type Tlivre AS object (isbn varchar(20),
titre varchar(50),
siecle number(2,0),
categorie varchar(20),
motcaracterise NTcaracterise )
/
CREATE TABLE TOlivre of Tlivre nested TABLE motcaracterise store AS Tlesmotcles
et la requête d'insertion:

Code :
1
2
3
4
5
 
INSERT INTO TOlivre VALUES (Tlivre ('IK2105S113', 'Candide ', 18, 'Classique', 
                            NTcaracterise (Tcaracterise (SELECT ref(m) FROM TOmotcle m WHERE mot='Classique') )  ) );
/
SHOW error;
j'obtiens l'erreur suivante:
Citation:

Erreur commençant à la ligne 1 de la commande :
INSERT INTO TOlivre VALUES (Tlivre ('IK2105S113', 'Candide ', 18, 'Classique',
NTcaracterise (Tcaracterise (select ref(m) FROM TOmotcle m WHERE mot='Classique') ) ) )
Erreur à la ligne de commande : 2, colonne : 57
Rapport d'erreur :
Erreur SQL : ORA-00936: expression absente
00936. 00000 - "missing expression"
*Cause:
*Action:
No Errors.
Je débute en Oracle, et c'est un TP, et je bloque sur l'insertion.

J'espère trouvé une solution ici.

Merci
honey0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 16h50   #2
Membre à l'essai
 
Étudiant
Inscription : avril 2007
Messages : 84
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 84
Points : 20
Points : 20
Envoyer un message via MSN à honey0 Envoyer un message via Yahoo à honey0
j'ai trouvé mon erreur. C'est le select qui était mal placé
Code :
1
2
3
4
5
6
 
 
INSERT INTO TOlivre VALUES (Tlivre ('IK2105S113', 'Candide ', 18, 'Classique', 
                            NTcaracterise ((SELECT Tcaracterise (ref(m)) FROM TOmotcle m WHERE m.mot='Classique' ) ) ) );
/
SHOW error;
Si ça peut aider quelqu'un ...
honey0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h48.


 
 
 
 
Partenaires

Hébergement Web