1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
use IBatisNet;
drop table if exists Others;
drop table if exists A;
drop table if exists B;
drop table if exists C;
drop table if exists D;
drop table if exists E;
drop table if exists F;
create table Others
(
Other_Int int,
Other_Long bigint,
Other_Bit bit not null default 0,
Other_String varchar(32) not null
) TYPE=INNODB;
CREATE TABLE F (
ID varchar(50) NOT NULL ,
F_Libelle varchar(50) NULL ,
primary key (ID)
) TYPE=INNODB;
CREATE TABLE E (
ID varchar(50) NOT NULL ,
E_Libelle varchar(50) NULL ,
primary key (ID)
) TYPE=INNODB;
CREATE TABLE D (
ID varchar(50) NOT NULL ,
D_Libelle varchar(50) NULL ,
primary key (ID)
) TYPE=INNODB;
CREATE TABLE C (
ID varchar(50) NOT NULL ,
C_Libelle varchar(50) NULL ,
primary key (ID)
) TYPE=INNODB;
CREATE TABLE B (
ID varchar(50) NOT NULL ,
C_ID varchar(50) NULL ,
D_ID varchar(50) NULL ,
B_Libelle varchar(50) NULL ,
primary key (ID)
) TYPE=INNODB;
ALTER TABLE B ADD CONSTRAINT FK_B_C FOREIGN KEY FK_B_C (C_ID)
REFERENCES C (ID)
ON DELETE RESTRICT
ON UPDATE RESTRICT,
ADD CONSTRAINT FK_B_D FOREIGN KEY FK_B_D (D_ID)
REFERENCES D (ID)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
CREATE TABLE A (
ID varchar(50) NOT NULL ,
B_ID varchar(50) NULL ,
E_ID varchar(50) NULL ,
F_ID varchar(50) NULL ,
A_Libelle varchar(50) NULL ,
primary key (ID)
) TYPE=INNODB;
ALTER TABLE A ADD CONSTRAINT FK_A_B FOREIGN KEY FK_A_B (B_ID)
REFERENCES B (ID)
ON DELETE RESTRICT
ON UPDATE RESTRICT,
ADD CONSTRAINT FK_A_E FOREIGN KEY FK_A_E (E_ID)
REFERENCES E (ID)
ON DELETE RESTRICT
ON UPDATE RESTRICT,
ADD CONSTRAINT FK_A_F FOREIGN KEY FK_A_F (F_ID)
REFERENCES F (ID)
ON DELETE RESTRICT;
INSERT INTO Others VALUES(1, 8888888, 0, 'Oui');
INSERT INTO Others VALUES(2, 9999999999, 1, 'Non');
INSERT INTO F VALUES('f', 'fff');
INSERT INTO E VALUES('e', 'eee');
INSERT INTO D VALUES('d', 'ddd');
INSERT INTO C VALUES('c', 'ccc');
INSERT INTO B VALUES('b', 'c', null, 'bbb');
INSERT INTO A VALUES('a', 'b', 'e', null, 'aaa');
|