{Oracle} 2 Clé primaire

[Résolu/Fermé]
Signaler
Messages postés
149
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
21 mai 2016
-
Messages postés
149
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
21 mai 2016
-
Bonjour,

Je souhaiterais créer une association qui possède 2 clés primaires et qui sont en même temps clés étrangères.

ADHERENT (NoAdh, Nom_Adh)
Entrainement (NoEntnmt, JourEntnmt)
Participer (#NoAdh, #NoEntnmt)

Merci d'avance pour votre aide

4 réponses

Messages postés
149
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
21 mai 2016
6
Merci beaucoup pour ta réponse.
Par contre pour mettre 2 clés étrangères sa ne marche pas.
Voila ce que j'ai fait:

ALTER TABLE Participer ADD CONSTRAINT FOREIGN KEY (NoAdh, NoEntnmt) REFERENCES adherent (NoAdh), Entrainement (NoEntnmt);


Et je sais qu'il manque quelque chose entre "ADD CONSTRAINT" et "FOREIGN KEY", mais je n'ai pas encore compris comment on doit faire.
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

normal, il faut nommer ta contrainte!
par contre, même si je suis plus trop au jus en Oracle moderne, je pense pas qu'une contrainte de clé étrangère puisse référencer 2 tables
essaie ALTER TABLE Participer ADD CONSTRAINT participer_fk1 FOREIGN KEY (NoAdh, NoEntnmt) REFERENCES adherent (NoAdh), Entrainement (NoEntnmt); même si je pense que ca marche pas

envoie alors
ALTER TABLE Participer ADD CONSTRAINT participer_fk1 FOREIGN KEY (NoAdh) REFERENCES adherent (NoAdh); puis
ALTER TABLE Participer ADD CONSTRAINT participer_fk2 FOREIGN KEY (NoEntnmt) REFERENCES Entrainement (NoEntnmt);
Salut

tu n'as pas deux clés primaires (on en a fouetté pour moins que ça) mais plutôt une clé primaire composée.
dans ta déclaration de contrainte de clé primaire (celle du cours ou du manuel), il te suffit de remplacer le nom d'une colonne par les noms des colonnes qui composent ta clé primaire simplement séparées par des virgules (,)
Messages postés
149
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
21 mai 2016
6
Merciii, j'ai dû mal m'exprimer, mais c'est la 2ème solution que je voulais et elle marche à merveille.