Oracle: Probleme création de table - SQL/NoSQL - Programmation
Marsh Posté le 21-01-2008 à 10:38:41
euh...
1/ pourquoi t'as 36 fois les mêmes noms pour tes contraintes ?
2/ pourquoi tes foreign key ne pointent pas QUE sur la PK de la table liée ?
3/ évite de créer des contraintes au moment de la création de la table. crée toujours tes contraintes à coups de ALTER TABLE, ça permet au moins de savoir laquelle chie dans la colle.
Marsh Posté le 19-01-2008 à 13:54:57
Bonjour a tous, voilà un nouveau probleme se pose à moi, c'est un petit amas de code alors je vais tout vous détailler pour plus de comprehension.
Voila je tente de créer la table emprunts suivante:
CREATE TABLE emprunts
(
livre NUMBER(6) CONSTRAINT fk_emprunts_to_exemplaires REFERENCES exemplaires(numero),
exemplaire NUMBER(6) CONSTRAINT fk_emprunts_to_exemplaires REFERENCES exemplaires(numero_exemplaire),
membre NUMBER(6) CONSTRAINT fk_emprunts_to_membres REFERENCES membres(numero),
emprunt DATE,
retour DATE,
CONSTRAINT pk_emprunts PRIMARY KEY (livre, exemplaire, membre),
CONSTRAINT fk_emprunts FOREIGN KEY (livre, exemplaire) REFERENCES exemplaires (numero, numero_exemplaire),
CONSTRAINT fk_emprunts FOREIGN KEY (membre) REFERENCES membres (numero)
);
SQL m'affiche le message d'erreur suivant :
ERREUR à la ligne 1 :
ORA-02270: pas de correspondance de clé primaire ou unique pour cette liste de
colonnes
Les tables de références exemplaires et membres sont les suivantes :
CREATE TABLE exemplaires
(
numero NUMBER(6) NOT NULL CONSTRAINT pk_exemplaires PRIMARY KEY,
numero_exemplaire NUMBER(6) NOT NULL,
aquisition DATE
);
CREATE TABLE membres
(
numero NUMBER(6) CONSTRAINT pk_membres PRIMARY KEY,
nom VARCHAR2(15) NOT NULL,
prenom VARCHAR2(15),
date_adhesion DATE
);
Merci de bien vouloir m'aider s'il-vous-plait, je ne comprend pas d'où peut venir cette érreur. Merci.