[SQL] Deux référence dans une seule table
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je souhaite créer une table qui comporte deux références sur deux autres tables.
Ce que j'ai écrit est le suivant :
Et ce que SQL*Plus Worksheet m'affice est cela :
creation table reparation_piece
references reparation (num_reparation)
*
ERREUR à la ligne 9 :
ORA-02256: le nombre de colonnes de référence doit correspondre au nombre de
colonnes référencées
Quelqu'un pourrait me corriger cette erreur ?
Merci de vos réponses :)
Je souhaite créer une table qui comporte deux références sur deux autres tables.
Ce que j'ai écrit est le suivant :
prompt creation table reparation_piece create table reparation_piece ( num_reparation varchar2(10), ref_piece varchar2(10), quantite number(10,3), constraint pk_reparation_piece primary key (num_reparation, ref_piece), constraint fk_reparation_piece foreign key (num_reparation, ref_piece) references piece (ref_piece) references reparation (num_reparation) );
Et ce que SQL*Plus Worksheet m'affice est cela :
creation table reparation_piece
references reparation (num_reparation)
*
ERREUR à la ligne 9 :
ORA-02256: le nombre de colonnes de référence doit correspondre au nombre de
colonnes référencées
Quelqu'un pourrait me corriger cette erreur ?
Merci de vos réponses :)
A voir également:
- [SQL] Deux référence dans une seule table
- Table ascii - Guide
- Table des matières word - Guide
- Comment faire deux colonnes indépendantes dans word - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Deux ecran pc - Guide
5 réponses
Bonjour, Toujours dans le SQL Khaoula ?
il faut creer 2 FK puisqu'elles font reference à 2 tables differentes
create table reparation_piece
(
num_reparation varchar2(10),
ref_piece varchar2(10),
quantite number(10,3),
constraint pk_reparation_piece primary key (num_reparation, ref_piece),
constraint fk_num_reparation foreign key (num_reparation)
references reparation (num_reparation),
constraint fk_ref_piece foreign key (ref_piece)
references piece (ref_piece)
);
cdt
il faut creer 2 FK puisqu'elles font reference à 2 tables differentes
create table reparation_piece
(
num_reparation varchar2(10),
ref_piece varchar2(10),
quantite number(10,3),
constraint pk_reparation_piece primary key (num_reparation, ref_piece),
constraint fk_num_reparation foreign key (num_reparation)
references reparation (num_reparation),
constraint fk_ref_piece foreign key (ref_piece)
references piece (ref_piece)
);
cdt
Bonjour Mon Professeur ;)
Beh non, j'ai avancé quand même, j'ai appris le PL/SQL, lalala :)
Je révise pour mon examen, et j'ai eu cette petite contrainte disons..
Merci de ta réponse et passe une agréable après-midi :)
Beh non, j'ai avancé quand même, j'ai appris le PL/SQL, lalala :)
Je révise pour mon examen, et j'ai eu cette petite contrainte disons..
Merci de ta réponse et passe une agréable après-midi :)
Bonsoir,
Encore un petit problème quand il s'agit des références sur une clé étrangère, pourtant, j'ai ré-écris mes deux lignes comme tu as indiqué :
P.S. Ce n'est pas la même table ;)
Merci encore une fois et bonne soirée.
Encore un petit problème quand il s'agit des références sur une clé étrangère, pourtant, j'ai ré-écris mes deux lignes comme tu as indiqué :
prompt creation table preparation create table preparation ( ref_preparation varchar2(10), code_produit_composant varchar2(10), code_produit_compose varchar2(10), quantite number(10,3), constraint pk_preparation primary key (ref_preparation), constraint fk_preparation foreign key (code_produit_composant) references produit (code_produit_composant), constraint fk_preparation foreign key (code_produit_compose) references produit (code_produit_compose) );
P.S. Ce n'est pas la même table ;)
Merci encore une fois et bonne soirée.
salut,
ya quelque chose qui cloche, soit les 2 champs sont dans la même table alors c'est :
constraint fk_produit foreign key (code_produit_composant,code_produit_compose)
references produit (code_produit_composant,code_produit_compose)
soit les champs ne sont pas la même table alors :
constraint fk_produit foreign key (code_produit_composant)
references produit (code_produit_composant),
constraint fk_AUTRETABLE foreign key (code_produit_compose)
references AUTRETABLE (code_produit_compose)
ya quelque chose qui cloche, soit les 2 champs sont dans la même table alors c'est :
constraint fk_produit foreign key (code_produit_composant,code_produit_compose)
references produit (code_produit_composant,code_produit_compose)
soit les champs ne sont pas la même table alors :
constraint fk_produit foreign key (code_produit_composant)
references produit (code_produit_composant),
constraint fk_AUTRETABLE foreign key (code_produit_compose)
references AUTRETABLE (code_produit_compose)
Merci de ta réponse jee pee.
Au fait c'est un autre exercice à part. J'ai deux deux tables en tout : produit et preparation. J'ai pas eu de surprises lrs de la création de la table produit :
j'ai deux références de clés étrangères vers la table produit, d'où :
Au fait c'est un autre exercice à part. J'ai deux deux tables en tout : produit et preparation. J'ai pas eu de surprises lrs de la création de la table produit :
prompt creation table preparation create table produit ( code_produit varchar2(10), designation varchar2(40), prix_unitaire number(18,8), un varchar2(2) constraint pk_produit primary key (code_produit) );
j'ai deux références de clés étrangères vers la table produit, d'où :
prompt creation table preparation create table preparation ( ref_preparation varchar2(10), code_produit_composant varchar2(10), code_produit_compose varchar2(10), quantite number(10,3), constraint pk_preparation primary key (ref_preparation), constraint fk_preparation foreign key (code_produit_composant) references produit (code_produit_composant), constraint fk_preparation foreign key (code_produit_compose) references produit (code_produit_compose) );
alors c'est ta ligne references qui ne va pas, car si code_produit_composant et code_produit_compose sont tous les 2 des code_produit de la table produit,
la syntaxe c'est references TABLE1 (NOM_DU_CHAMP_TABLE1)
donc
constraint fk_preparation_composant foreign key (code_produit_composant)
references produit (code_produit),
constraint fk_preparation_compose foreign key (code_produit_compose)
references produit (code_produit)
la syntaxe c'est references TABLE1 (NOM_DU_CHAMP_TABLE1)
donc
constraint fk_preparation_composant foreign key (code_produit_composant)
references produit (code_produit),
constraint fk_preparation_compose foreign key (code_produit_compose)
references produit (code_produit)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question