Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels 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 03/12/2011, 16h50   #1
Candidat au titre de Membre du Club
 
Homme Rabah LAOUADI
Étudiant
Inscription : mai 2009
Messages : 12
Détails du profil
Informations personnelles :
Nom : Homme Rabah LAOUADI
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2009
Messages : 12
Points : 12
Points : 12
Par défaut Insertion dans un Nested table de ref

Bonjour,

J'ai un probleme niveau insertion dans un nested table voila l'example :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
***Le type Terme
CREATE type Terme_T AS Object
(
	libelle varchar2(50),
	TermesAssocies GroupeTermes
)
/
 
***La collection des termes
CREATE type GroupeTermes AS TABLE of ref Terme_T 
/
 
***La TABLE terme
CREATE TABLE Terme of Terme_T
(	
	constraint pk_terme PRIMARY KEY(libelle)
) 
nested TABLE TermesAssocies store AS TA_TAB;
 
 
INSERT INTO Terme VALUES('Sport de balle',NULL);
***insertion de Sport de balle effectuer
INSERT INTO Terme VALUES('Sport Collectif',GroupeTermes((SELECT ref(i) FROM Terme i WHERE libelle='Sport de balle'));
***insertion effectuer
Par contre Je n'arrive pas a inserer directement dans le nested table!
J'ai essayé :
Code :
INSERT INTO TABLE(SELECT TermesAssocies FROM terme WHERE libelle='Sport de balle') VALUES ((SELECT ref(i) FROM terme i WHERE i.libelle='Sport Collectif'));
et j ai la message : referance to NULL table value !
bibouh123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 16h13   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 686
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 686
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Celui-là il est assez complexe dans la compréhension.

Le fait qu'une table imbriquée doit posséder une première référence qui pointe vers la table principale entraîne qu'on doit commencer par faire un update pour la première valeur, des insert pour les suivantes :
Code :
1
2
3
4
5
6
7
8
UPDATE Terme
   SET TermesAssocies = GroupeTermes((SELECT ref(i) FROM terme i WHERE i.libelle = 'Sport Collectif'))
 WHERE libelle = 'Sport de balle';
-- 1 row updated.
 
INSERT INTO TABLE(SELECT TermesAssocies FROM terme WHERE libelle = 'Sport de balle')
VALUES ((SELECT ref(i) FROM terme i WHERE i.libelle = 'Sport Collectif'));
-- 1 row inserted.
__________________
Email : http://scr.im/waldar
Waldar est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h04.


 
 
 
 
Partenaires

Hébergement Web