Bonjour ou bonsoir,

Voici le code(que je vous ai écris) qui me pose "problème" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Erreur SQL : ORA-00942: table or view does not exist(x2)
Un moyen de résoudre ce problème est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.