{Oracle} 2 Clé primaire

Résolu
sangokudu92 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   -  
sangokudu92 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   7
 
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
fiu
 
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
fiu
 
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   Statut Membre Dernière intervention   7
 
Merciii, j'ai dû mal m'exprimer, mais c'est la 2ème solution que je voulais et elle marche à merveille.
0