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

Langage SQL Discussion :

Définition de Clé lors de la création de Tables


Sujet :

Langage SQL

  1. #1
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Points
    217
    Par défaut Définition de Clé lors de la création de Tables
    Bonjour

    Je veux crée deux Tables qui ont en relation une colonne:

    La table : Acteur elle a nom, login, passe etc ...
    La table : Projet elle a nomprojet, resprojet, datend etc ...

    sauf que dans la table Projet, y'a le nomProjet que je veux mettre aussi dans la table Acteur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    create table Projet(nomProjet varchar2(30) constraint pr_Pro primary
    key not null, date varchar2(10));
    Puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    create table Acteur(nomActeur varchar2(10) constraint ac_act primary 
    key not null, login varchar2(10), 		
    
    nomProjet varchar2(30) constraint foreign 
    key pr_Pro references Projet(nomProjet));
    Alors voila ce qu'il m'affiche quand j'entre la deuxième commande :

    ERREUR à la ligne 4 :
    ORA-02253: constraint specification not allowed here


    MErci d'avance.

  2. #2
    Expert éminent
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Points : 7 291
    Points
    7 291
    Par défaut
    Dans la foreign key on référence le nom de la colonne étrangère correspondant à la clé primaire de la table de réference et non le nom de la contrainte de clé primaire.
    La contrainte d'intégrité s'écrit à la suite des colonnes après une virgule et non tout de suite après la colonne.

    Voilà en oracle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create table Acteur(
    (nomActeur )varchar2(10) constraint pk_ac_act primary key,
     login varchar2(10), 		
    nomProjet varchar2(30),
     constraint FK_ACTEUR_PROJET foreign key (nomProjet )
     references Projet(nomProjet ));

    PS: Il faut éviter de se servir des libelles comme clé mais plutôt utiliser des codes ou identifiants

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/05/2014, 20h07
  2. error code 1005 lors d'une création de table
    Par sebabarre dans le forum Débuter
    Réponses: 7
    Dernier message: 31/10/2012, 12h43
  3. [Doctrine] Schema.yml, erreur lors de la création des tables
    Par richard_m dans le forum ORM
    Réponses: 16
    Dernier message: 23/02/2011, 17h58
  4. [AC-2007] Utiliser une variable comme alias lors de la création de table via Vba
    Par Tipstitou dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/09/2010, 11h29
  5. message d'erreur lors de la création d'une base
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/04/2004, 16h47

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