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

SQL Oracle Discussion :

ORA-00905: mot-clé absent


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Par défaut ORA-00905: mot-clé absent
    Bonjour,
    j'ai un petit problème dans ma création de table avec mes nested table.

    Mon code est le suivant :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    create type etudiant_type
    /
    create type etudiant_form_type as object(etudiants_form ref etudiant_type)
    /
    create type etudiants_form_type as table of etudiant_form_type
    /
     
    create type formation_type as object
    ( nom_formation varchar2(20),
      desc_formation varchar2(50),
      lst_etudiants_form etudiants_form_type)
    /
     
    create type module_type
    /
    create type module_etu_type as object(modules_etu ref module_type)
    /
    create type modules_etu_type as table of module_etu_type
    /
    create or replace type etudiant_type as object
    ( num_etudiant number,
      nom_etudiant varchar2(15),
      prenom_etudiant varchar2(20),
      adresse_etudiant varchar2(50),
      date_naissance_etudiant date,
      formation ref formation_type,
      lst_modules_etudiant modules_etu_type)
    /
     
    create type module_ens_type as object(modules_ens ref module_type)
    /
    create type modules_ens_type as table of module_ens_type
    /
     
    create type enseignant_type as object
    ( nom_enseignant varchar2(15),
      prenom_enseignant varchar2(20),
      adresse_enseignant varchar2(50),
      numero_tel_enseignant varchar2(10),
      lst_modules_enseignant modules_ens_type)
    /
     
    create type td_type as object
    ( volume_td number,
      enseignant_td ref enseignant_type)
    /
    create type tds_type as table of td_type
    /
     
    create type tp_type as object
    ( volume_tp number,
      enseignant_tp ref enseignant_type)
    /
    create type tps_type as table of tp_type
    /
     
    create type cm_type as object
    ( volume_cm number,
      enseignant_cm ref enseignant_type)
    /
    create type cms_type as table of cm_type
    /
     
    create type etudiant_mod_type as object(etudiants_mod ref etudiant_type)
    /
    create type etudiants_mod_type as table of etudiant_mod_type
    /          
     
    create or replace type module_type as object
    ( code_module number,
      nom_module varchar2(15),
      desc_module varchar2(50),
      credit_module number,
      td tds_type,
      tp tps_type,
      cm cms_type,
      lst_etudiants_modules etudiants_mod_type)
    /
     
    create table tbl_formation of formation_type(primary key(nom_formation)) nested table lst_etudiants_form store as tab_formation
    /
    create table tbl_etudiant of etudiant_type(primary key(num_etudiant)) nested table lst_modules_etudiant store as tab_etudiant
    /
    create table tbl_enseignant of enseignant_type(primary key(nom_enseignant)) nested table lst_modules_enseignant as tab_enseignant
    /
    create table tbl_module of module_type(primary key(code_module)) nested table lst_etudiants_modules as tab_module
    /
    J'obtient les deux erreurs suivantes :

    create table tbl_enseignant of enseignant_type(primary key(nom_enseignant)) nested table lst_modules_enseignant as tab_enseignant

    ORA-00905: mot-clé absent

    create table tbl_module of module_type(primary key(code_module)) nested table lst_etudiants_modules as tab_module

    ORA-00905: mot-clé absent


    Sinon tous mes types et les autres tables ne pose aucun problème !

    Si quelqu'un à une idée, une suggestion je suis preneuse !!

    Merci d'avance

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Si vous exécutez votre code sous SQL*Plus, ça vous placera une étoile juste en dessous de l'endroit en cause, et l'erreur vous sautera aux yeux.
    Et indépendamment de ça, il n'est quand même pas compliqué de comparer une commande d'une ligne qui marche et une commande en principe identique qui ne marche pas !

  3. #3
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Il manque le mot clé STORE, et effectivement, vous auriez pu le trouver tout seul

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Par défaut
    Oh purée oui ...
    désolée du dérangement !!
    parfois on ne voit pas tout de suite les petites erreurs toute béte ..

    ça m'a bien corrigé les deux erreurs !
    en revanche maintenant j'ai l'erreur suivante sur la table module:
    ora-22913 : il est impératif d'associer un nom de table à une colonne ou un attribut de table imbriquée.

    je ne vois pas trop ce que veut dire l'erreur. Niveau syntaxe je pense qu'il n'y a plus de probléme ^^

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Par défaut
    C'est bon j'ai trouvé ^^
    j'avais oublié de déclarer des nested table dans la table module

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

Discussions similaires

  1. ORA-00926: mot-clé VALUES absent lors de l'insertion avec tOracleOutPut
    Par hikamovic dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 19/02/2015, 16h27
  2. ORA-00905: mot-clé absent
    Par dalhia dans le forum Oracle
    Réponses: 10
    Dernier message: 05/08/2010, 16h30
  3. erreur ORA 00905 : Mot clé absent sur un CASE WHEN
    Par gaijinma dans le forum PL/SQL
    Réponses: 2
    Dernier message: 01/07/2010, 14h32
  4. Réponses: 12
    Dernier message: 06/08/2009, 16h16
  5. ORA-00905: Mot-clé absent
    Par oraclinfo dans le forum Oracle
    Réponses: 2
    Dernier message: 19/09/2006, 14h11

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