{Oracle} 2 Clé primaire

Résolu/Fermé
sangokudu92 Messages postés 161 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 4 février 2022 - 13 déc. 2009 à 09:38
sangokudu92 Messages postés 161 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 4 février 2022 - 13 déc. 2009 à 11:06
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
A voir également:

4 réponses

sangokudu92 Messages postés 161 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 4 février 2022 7
13 déc. 2009 à 10:11
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
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);
1
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 (,)
0
sangokudu92 Messages postés 161 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 4 février 2022 7
13 déc. 2009 à 11:06
Merciii, j'ai dû mal m'exprimer, mais c'est la 2ème solution que je voulais et elle marche à merveille.
0