IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Oracle Discussion :

insertion dans une table objet contenant une table imbriquée.


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Points : 48
    Points
    48
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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:

    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

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Points : 48
    Points
    48
    Par défaut
    j'ai trouvé mon erreur. C'est le select qui était mal placé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/05/2014, 17h22
  2. [Entity] Comment exposer un webservice renvoyant un objet contenant une collection<objet>
    Par igorzup dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 05/10/2012, 11h48
  3. Réponses: 2
    Dernier message: 14/12/2009, 11h36
  4. Réponses: 2
    Dernier message: 10/07/2007, 10h04
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo