Bonjour,
J'ai une petite question sans importance, mais qui me turlupine (sur FB 1.5). Je souhaite créer deux tables contenent les continents et les pays (rattachés aux continent).
J'ai donc créé ma table continent sans problème:Trop facile lol... En revanche, lorsque je souhaite crée ma table des pays j'ai un message d'erreur au niveau du mot FOREIGN avec ce code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CREATE TABLE CONTINENT ( CODE SMALLINT NOT NULL CONSTRAINT CT_PK_CONTINENT PRIMARY KEY, NOM D_NOM );alors qu'avec celui là, ça passe parfaitement...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TABLE PAYS ( CODE SMALLINT NOT NULL, CODE_CONTINENT SMALLINT NOT NULL CONSTRAINT CT_FK_CODECONTINENT FOREIGN KEY REFERENCES CONTINENT(CODE), NOM D_NOM, CONSTRAINT CT_PK_PAYS PRIMARY KEY (CODE,CODE_CONTINENT) );Ma question est donc la suivante (je ne trouve pas ma réponse dans la référence SQL de FB...):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE TABLE PAYS ( CODE SMALLINT NOT NULL, CODE_CONTINENT SMALLINT NOT NULL, NOM D_NOM, CONSTRAINT CT_PK_PAYS PRIMARY KEY (CODE,CODE_CONTINENT) ); ALTER TABLE PAYS ADD CONSTRAINT CT_FK_CODECONTINENT FOREIGN KEY (CODE_CONTINENT) REFERENCES CONTINENT(CODE);
:
Doit t'on sous FB impérativement crée les clés étrangères à l'extérieur de la déclaration de la table (comme le fait les métadata) ou à la suive de la déclaration des champs dans la déclaration même?
En gros, pourquoi ne peut-on pas faire la déclaration des clés étrangères comme je l'ai fais pour la clé primaire de ma table Continent?
Merci pour vos réponses.
NB: ma question exclue la problématique de la Turquie![]()
Partager