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 :

pb oracle création table - foreign key


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 69
    Points : 46
    Points
    46
    Par défaut pb oracle création table - foreign key
    bonjour,

    J'ai un pb avec mes clés etrangères ca m'ecrit que l'identificateur n'est pas valide. J'ai crée le foreign key avec vos tutoriels oracle mais cela ne marche pas, j'en ai cherché d'autre et le pb est toujours le meme. J'ai bien crée les tables ou la clé étrangère est clé primaire avant mais j'ai toujours le meme message.

    voici mon code si quelqu'un peut m'aider car je suis bloqué
    Merci
    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
     
    create table CYCLE
    (
    	nomCycle VARCHAR2(30) PRIMARY KEY,
    	codeNiveau NUMBER(1) NOT NULL check (codeNiveau between 1 and 3)
    );
     
    create table MODULE
    (
    	codeModule VARCHAR(3) PRIMARY KEY,
    	nomModule VARCHAR2(30) NOT NULL,
    	dureeModule NUMBER(2) NOT NULL
    );
     
    create table ENTREPRISE
    (
    	codeSIRET VARCHAR(14) PRIMARY KEY,
    	rsEnt VARCHAR2(30) NOT NULL
    );
     
    create table STAGIAIRE
    (
    	codeStagiaire VARCHAR(7) PRIMARY KEY,
    	nomStagiaire VARCHAR2(30) NOT NULL,
    	statutStagiaire NUMBER(1) NOT NULL,
    	FOREIGN KEY (codeSIRET) REFERENCES ENTREPRISE (codeSIRET),
    	FOREIGN KEY (nomCycle) REFERENCES CYCLE
    );

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Bonjour,

    Je procède d'une autre façon, d'abord je crée la colonne dans la clause CREATE TABLE, et ensuite je fais un ALTER TABLE, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER TABLE uneTable ADD (
      CONSTRAINT nomCleEtrangere_FK FOREIGN KEY (nomColonne) 
        REFERENCES tableReferencee (colonneReferencee));
    K

  3. #3
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    Merci bien apparemment ça fonctionne mais bon ça reste bizarre qu'en même ...

  4. #4
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Bonjour,

    2 choses :
    1 ) dans la table STAGIAIRE, il faut créer les colonnes CODESIRET et NOMCYCLE,
    2 ) il manque le mot-clé CONSTRAINT dans la définition des FK.

    La syntaxe est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    create table STAGIAIRE 
    ( 
       codeStagiaire VARCHAR(7) PRIMARY KEY, 
       nomStagiaire VARCHAR2(30) NOT NULL, 
       statutStagiaire NUMBER(1) NOT NULL,
       codeSIRET VARCHAR2(14),
       nomCycle VARCHAR2(30),
       constraint FK_ENTREPRISE FOREIGN KEY (codeSIRET) REFERENCES ENTREPRISE (codeSIRET), 
       constraint FK_CYCLE FOREIGN KEY (nomCycle) REFERENCES CYCLE (nomCycle)
    );

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

Discussions similaires

  1. Erreur Create table/foreign Key
    Par vashe9 dans le forum Requêtes
    Réponses: 8
    Dernier message: 04/09/2011, 15h29
  2. Création de Foreign Key
    Par chh2008 dans le forum SQL
    Réponses: 2
    Dernier message: 16/02/2010, 09h05
  3. Hibernate se trompe dans la création de Foreign Keys
    Par Julien Bodin dans le forum Hibernate
    Réponses: 2
    Dernier message: 29/10/2009, 14h35
  4. [SQL-Server] insert into d'une table reliant deux tables(foreign key)
    Par evra76 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/07/2009, 10h38
  5. Réponses: 1
    Dernier message: 30/04/2009, 13h52

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