Tables croisées et syntaxe de création
Bonjour ou bonsoir,
Voici le code(que je vous ai écris) qui me pose "problème" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| CREATE TABLE t1
(
id CHAR(3)
CONSTRAINT CPT1 PRIMARY KEY,
fk CHAR(11) CONSTRAINT REFt1t2 REFERENCES t2(id)
);
CREATE TABLE t2
(
id CHAR(3)
CONSTRAINT CPT2 PRIMARY KEY,
fk CHAR(11) CONSTRAINT REFt2t1 REFERENCES t1(id)
); |
Lors de l’exécution de ces requêtes sur mon sgbd oracle, on a évidement deux erreurs :
Citation:
Erreur SQL : ORA-00942: table or view does not exist(x2)
Un moyen de résoudre ce problème est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| CREATE TABLE t1
(
id CHAR(3)
CONSTRAINT CPT1 PRIMARY KEY,
fk CHAR(11)
);
CREATE TABLE t2
(
id CHAR(3)
CONSTRAINT CPT2 PRIMARY KEY,
fk CHAR(11) CONSTRAINT REFt2t1 REFERENCES t1(id)
);
ALTER TABLE t1 ADD CONSTRAINT REFt1t2 FOREIGN KEY (fk) REFERENCES t2(id); |
Ma question : Existe-t-il un autre moyen qui n'utilise pas la commande ALTER ?
Ce n'est pas pour une question d'optimisation, mais simplement de culture générale..
Je suis novice, soyez indulgent svp :)
Merci.