pb de creation de tables ( oui, je débute ! ) [SQL] - Programmation
Marsh Posté le 24-05-2002 à 09:44:53
ben ta clé sur ta table pièce a deux colonnes, donc fo créer une clé étrangère sur deux colonnes, pas sur une
Marsh Posté le 24-05-2002 à 13:15:23
ddr555 a écrit a écrit : ben ta clé sur ta table pièce a deux colonnes, donc fo créer une clé étrangère sur deux colonnes, pas sur une |
Merci !!
En fait je m'en suis rendu compte ce matin en regardant le peu de cours que j'ai (moi, secher ??? ). dans la foulée, je suis allé m'acheter un petit bouquin de SQL à la fnac. Je reviendrais reposer des questions quand j'aurai des vrais soucis !!!
Marsh Posté le 23-05-2002 à 21:38:53
Salut, je débute sous Oracle et je n'arrive pas à trouver ma boulette.
Voici mes déclarations de tables :
CREATE TABLE joueur
( pseudo VARCHAR2(50) not null PRIMARY KEY,
classement NUMBER(4, 0) not null
);
CREATE TABLE partie
( numpartie NUMBER(4, 0) not null PRIMARY KEY,
etat VARCHAR2(10) not null CHECK(etat IN ('en cours', 'terminée')
);
CREATE TABLE partiejoueur
( pseudo VARCHAR2(50) not null REFERENCES joueur,
numpartie NUMBER(4,0) not null REFERENCES partie,
couleur VARCHAR2(6) not null CHECK(couleur IN ('blancs', 'noirs'),
CONSTRAINT C_pj PRIMARY KEY ( pseudo, numpartie)
);
CREATE TABLE couppartie
( numcoup NUMBER(3, 0) not null,
numpartie NUMBER(4, 0) not null REFERENCES partie,
datecoup DATE not null,
commentaire VARCHAR2(256),
CONSTRAINT C_cppar PRIMARY KEY ( numcoup, numpartie, datecoup)
);
CREATE TABLE piece
( numpiece NUMBER(2, 0) not null,
numpartie NUMBER(4, 0) not null REFERENCES partie,
couleur VARCHAR2(6) not null CHECK(couleur IN ('blancs', 'noirs'),
caseX NUMBER(1, 0) not null,
caseY NUMBER(1, 0) not null,
a_bouge NUMBER(1, 0) not null CHECK(a_bouge IN (0, 1)),
CONSTRAINT C_pce PRIMARY KEY ( numpiece, numpartie)
);
CREATE TABLE couppiece
( numpiece NUMBER(2, 0) not null REFERENCES piece,
numpartie NUMBER(4, 0) not null REFERENCES partie,
numcoup NUMBER(3, 0) not null REFERENCES couppartie,
couleur VARCHAR2(6) not null CHECK(couleur IN ('blancs', 'noirs'),
typecoup VARCHAR2(10) not null,
caseX NUMBER(1, 0) not null,
caseY NUMBER(1, 0) not null,
CONSTRAINT C_cppce PRIMARY KEY ( numpiece, numpartie, numcoup)
);
Voici l'erreur qu'il me marque lors de la création de couppiece :
( numpiece NUMBER(2, 0) not null REFERENCES piece, *
ERREUR à la ligne 2 :
ORA-02256: le nombre de colonnes de référence doit correspondre au nombre de
colonnes référencées
Je comprends pas du tout ce qu'il veut me dire alors s'il vous plaît, aidez-moi ! De plus, si quelque chose vous choque dans mes tables, dîtes le moi SVP !
[jfdsdjhfuetppo]--Message édité par John of the Baptiste le 23-05-2002 à 21:54:08--[/jfdsdjhfuetppo]