-- Creating Table
use [IBatisNet]
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Others]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
drop table [dbo].[Others]
END
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[A]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
drop table [dbo].[A]
END
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[B]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
drop table [dbo].[B]
END
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[C]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
drop table [dbo].[C]
END
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[D]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
drop table [dbo].[D]
END
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[E]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
drop table [dbo].[E]
END
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[F]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
drop table [dbo].[F]
END
CREATE TABLE [dbo].[Others] (
[Other_Int] [int] NULL ,
[Other_Long] [BigInt] NULL,
[Other_Bit] [Bit] NOT NULL DEFAULT (0),
[Other_String] [varchar] (32) NOT NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[F] (
[ID] [varchar] (50) NOT NULL ,
[F_Libelle] [varchar] (50) NULL ,
CONSTRAINT [PK_F] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[E] (
[ID] [varchar] (50) NOT NULL ,
[E_Libelle] [varchar] (50) NULL ,
CONSTRAINT [PK_E] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[D] (
[ID] [varchar] (50) NOT NULL ,
[D_Libelle] [varchar] (50) NULL ,
CONSTRAINT [PK_D] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[C] (
[ID] [varchar] (50) NOT NULL ,
[C_Libelle] [varchar] (50) NULL ,
CONSTRAINT [PK_C] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[B] (
[ID] [varchar] (50) NOT NULL ,
[C_ID] [varchar] (50) NULL ,
[D_ID] [varchar] (50) NULL ,
[B_Libelle] [varchar] (50) NULL ,
CONSTRAINT [PK_B] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY] ,
CONSTRAINT [FK_B_C] FOREIGN KEY
(
[C_ID]
) REFERENCES [C] (
[ID]
),
CONSTRAINT [FK_B_D] FOREIGN KEY
(
[D_ID]
) REFERENCES [D] (
[ID]
)
) ON [PRIMARY]
CREATE TABLE [dbo].[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
CONSTRAINT [PK_A] PRIMARY KEY CLUSTERED
(
[Id]
) ON [PRIMARY] ,
CONSTRAINT [FK_A_B] FOREIGN KEY
(
[B_ID]
) REFERENCES [B] (
[ID]
),
CONSTRAINT [FK_A_E] FOREIGN KEY
(
[E_ID]
) REFERENCES [E] (
[ID]
),
CONSTRAINT [FK_A_F] FOREIGN KEY
(
[F_ID]
) REFERENCES [F] (
[ID]
)
) ON [PRIMARY]
-- Creating Test Data
INSERT INTO [dbo].[Others] VALUES(1, 8888888, 0, 'Oui');
INSERT INTO [dbo].[Others] VALUES(2, 9999999999, 1, 'Non');
INSERT INTO [dbo].[F] VALUES('f', 'fff');
INSERT INTO [dbo].[E] VALUES('e', 'eee');
INSERT INTO [dbo].[D] VALUES('d', 'ddd');
INSERT INTO [dbo].[C] VALUES('c', 'ccc');
INSERT INTO [dbo].[B] VALUES('b', 'c', null, 'bbb');
INSERT INTO [dbo].[A] VALUES('a', 'b', 'e', null, 'aaa');