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 :

une cle etrangere qui reference deux champs


Sujet :

Langage SQL

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut une cle etrangere qui reference deux champs
    Bonjour a tous,

    J'ai un probleme je cherche a cree une cle etrangere qui reference une cle primaire d'une table ou une autre cle primaire d'une autre table dans la definition meme de la table mais je ni arrive pas( sans utiliser de declencheur).

    J'ai cherché sur internet pendant un bon moment et sur ce forum mais j'ai pas trouver de solution, alors si quelqu'un peu m'aider je le remerci par avance.

  2. #2
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    En fait j'ai la table UC avec le champs no_uc et la table PERIPHERIQUE avec le champs no_perip.
    Et la table OBJ_INVENTAIRE avec le champs no_inven qui peut contenir soit un no_uc existant soit un no_perip existant.

    J'ai essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE TABLE  "Obj_inventaire" (	
            
    "no_inven" VARCHAR2(8), "date_acha" DATE, "no_f" NUMBER(4,0), CONSTRAINT "Obj_inventaire_PK" PRIMARY KEY ("no_inven"), CONSTRAINT "OBJ_INVENTAIRE_FK" FOREIGN KEY ("no_inven") REFERENCES "Uc" ("no_uc") ENABLE, CONSTRAINT "OBJ_INVENTAIRE_FK2" FOREIGN KEY ("no_inven") REFERENCES "Peripherique" ("no_perip") ENABLE, CONSTRAINT "OBJ_INVENTAIRE_FK3" FOREIGN KEY ("no_f") REFERENCES "Fournisseur" ("no_f") ENABLE
    );
    Mais bien sur sa marche pas car les deux contrainte(en bleu) que j'ai crée sur no_inven doivent toutes les deux etre verifiées ce qui impossible,au lieu que sa soit l'une ou l'autre comme je le veut.

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 175
    Points : 166
    Points
    166
    Par défaut
    Bonjour,

    je ne pense pas que ton problème soit solvable en utilisant uniquement des contraintes d'intégrité de type FOREIGN KEY. Je pense qu'il faut dans ce cas précis utiliser un trigger. Est-ce génant pour toi de déléguer le contrôle de l'intégrité à un trigger ?

    Bonne journée.

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/09/2014, 16h04
  2. requête sql qui joint deux champs dans une seule chaine
    Par marwacht dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/05/2011, 10h29
  3. Ignorer une cle etrangere
    Par West01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/05/2007, 17h38
  4. [phpMyAdmin] Mettre en place une clé étrangère sous phpMyAdmin
    Par habasque dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 30/11/2006, 21h47
  5. Réponses: 1
    Dernier message: 25/09/2006, 10h18

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