Bonjour a tous !

J'aurais voulu savoir si il était possible de créer une table avec une clé primaire de 3 champs.

Je m'explique :

Une recette est composée de plusieurs stades qui sont eux meme constitués de plusieurs ingrédients.

J'ai donc les tables suivantes :
Recette (pk : num_rec)
Ingrédient (pk: num_ing)
Stade (pk : num_stad , num_rec)

J'aimerais créer la table entre Ingrédient et Stade qui aurait comme pk (num_rec, num_stad, num_ing).

Voici mon code :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
create table stad_ing (
	num_rec	 	number(5) constraint fk_stade_ing_rec references recette(num_rec) not null ,
	num_stad 	number(2) constraint fk_stade_ing_stade references stade(num_stad) not null,
	num_ing		number(5) constraint fk_stade_ing_ing references ingredient(num_ing) not null,
	constraint pk_stade primary key (num_rec,num_stad,num_ing)  
);
Qd j'éxécute cette commande, Toad m'affiche l'erreur suivante :

" pas de correspondance de clé primaire ou unique pr cette liste de colonne"

sur cette partie de mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
references stade(num_stad)
Pourriez-vous m'aider ?