/****** Objet : ForeignKey [FK_INTERLOCUTEUR_CLIENT] Date de génération du script : 01/08/2009 23:22:38 ******/ IF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_INTERLOCUTEUR_CLIENT]') AND parent_object_id = OBJECT_ID(N'[dbo].[INTERLOCUTEUR]')) ALTER TABLE [dbo].[INTERLOCUTEUR] DROP CONSTRAINT [FK_INTERLOCUTEUR_CLIENT] GO /****** Objet : ForeignKey [FK_RENCONTRER_COMMERCIAL] Date de génération du script : 01/08/2009 23:22:38 ******/ IF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_RENCONTRER_COMMERCIAL]') AND parent_object_id = OBJECT_ID(N'[dbo].[RENCONTRER]')) ALTER TABLE [dbo].[RENCONTRER] DROP CONSTRAINT [FK_RENCONTRER_COMMERCIAL] GO /****** Objet : ForeignKey [FK_RENCONTRER_INTERLOCUTEUR] Date de génération du script : 01/08/2009 23:22:38 ******/ IF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_RENCONTRER_INTERLOCUTEUR]') AND parent_object_id = OBJECT_ID(N'[dbo].[RENCONTRER]')) ALTER TABLE [dbo].[RENCONTRER] DROP CONSTRAINT [FK_RENCONTRER_INTERLOCUTEUR] GO /****** Objet : ForeignKey [FK_RENCONTRER_PROJET] Date de génération du script : 01/08/2009 23:22:38 ******/ IF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_RENCONTRER_PROJET]') AND parent_object_id = OBJECT_ID(N'[dbo].[RENCONTRER]')) ALTER TABLE [dbo].[RENCONTRER] DROP CONSTRAINT [FK_RENCONTRER_PROJET] GO /****** Objet : Table [dbo].[RENCONTRER] Date de génération du script : 01/08/2009 23:22:38 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[RENCONTRER]') AND type in (N'U')) DROP TABLE [dbo].[RENCONTRER] GO /****** Objet : Table [dbo].[INTERLOCUTEUR] Date de génération du script : 01/08/2009 23:22:38 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[INTERLOCUTEUR]') AND type in (N'U')) DROP TABLE [dbo].[INTERLOCUTEUR] GO /****** Objet : Table [dbo].[PROJET] Date de génération du script : 01/08/2009 23:22:38 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[PROJET]') AND type in (N'U')) DROP TABLE [dbo].[PROJET] GO /****** Objet : Table [dbo].[COMMERCIAL] Date de génération du script : 01/08/2009 23:22:38 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[COMMERCIAL]') AND type in (N'U')) DROP TABLE [dbo].[COMMERCIAL] GO /****** Objet : Table [dbo].[CLIENT] Date de génération du script : 01/08/2009 23:22:38 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[CLIENT]') AND type in (N'U')) DROP TABLE [dbo].[CLIENT] GO /****** Objet : Table [dbo].[CLIENT] Date de génération du script : 01/08/2009 23:22:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[CLIENT]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[CLIENT]( [numClient] [int] IDENTITY(1,1) NOT NULL, [typeClient] [varchar](3) COLLATE French_CI_AS NULL, [refMagasin] [varchar](50) COLLATE French_CI_AS NULL, [nomSociete] [varchar](50) COLLATE French_CI_AS NULL, CONSTRAINT [PK_CLIENT] PRIMARY KEY CLUSTERED ( [numClient] ASC )WITH (IGNORE_DUP_KEY = OFF) ) END GO SET IDENTITY_INSERT [dbo].[CLIENT] ON INSERT [dbo].[CLIENT] ([numClient], [typeClient], [refMagasin], [nomSociete]) VALUES (54, N'GMS', N'Grande Surface', N'Hyper U Les Herbiers') INSERT [dbo].[CLIENT] ([numClient], [typeClient], [refMagasin], [nomSociete]) VALUES (55, N'A', N'Boulangerie', N'Boulangerie Godreau') INSERT [dbo].[CLIENT] ([numClient], [typeClient], [refMagasin], [nomSociete]) VALUES (58, N'F', N'Boulangerie', N'Boulangerie Sicard') SET IDENTITY_INSERT [dbo].[CLIENT] OFF /****** Objet : Table [dbo].[COMMERCIAL] Date de génération du script : 01/08/2009 23:22:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[COMMERCIAL]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[COMMERCIAL]( [numCommercial] [int] IDENTITY(1,1) NOT NULL, [nomCommercial] [varchar](40) COLLATE French_CI_AS NULL, [prenomCommercial] [varchar](40) COLLATE French_CI_AS NULL, [estActif] [char](1) COLLATE French_CI_AS NOT NULL, CONSTRAINT [PK_COMMERCIAL] PRIMARY KEY CLUSTERED ( [numCommercial] ASC )WITH (IGNORE_DUP_KEY = OFF) ) END GO SET IDENTITY_INSERT [dbo].[COMMERCIAL] ON INSERT [dbo].[COMMERCIAL] ([numCommercial], [nomCommercial], [prenomCommercial], [estActif]) VALUES (22, N'Lorieau', N'Hervé', N'1') INSERT [dbo].[COMMERCIAL] ([numCommercial], [nomCommercial], [prenomCommercial], [estActif]) VALUES (23, N'Falleau', N'Eric', N'1') SET IDENTITY_INSERT [dbo].[COMMERCIAL] OFF /****** Objet : Table [dbo].[PROJET] Date de génération du script : 01/08/2009 23:22:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[PROJET]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[PROJET]( [numProjet] [int] IDENTITY(1,1) NOT NULL, [dateLivraison] [datetime] NULL, [estimatifProjet] [money] NULL, [echeancierProchContact] [datetime] NULL, CONSTRAINT [PK_PROJET] PRIMARY KEY CLUSTERED ( [numProjet] ASC )WITH (IGNORE_DUP_KEY = OFF) ) END GO SET IDENTITY_INSERT [dbo].[PROJET] ON INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (119, CAST(0x00009BE700000000 AS DateTime), 2000.0000, CAST(0x00009BA900000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (124, NULL, 2550.0000, NULL) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (125, NULL, 0.0000, NULL) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (127, CAST(0x00009C0000000000 AS DateTime), 2300.0000, CAST(0x00009B8800000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (128, NULL, 0.0000, CAST(0x00009B9100000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (129, CAST(0x00009BCA00000000 AS DateTime), 2000.0000, CAST(0x00009B9200000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (131, NULL, 3000.0000, CAST(0x00009B9500000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (133, NULL, 3200.0000, CAST(0x00009B9600000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (134, NULL, 3200.0000, CAST(0x00009B9400000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (135, NULL, 0.0000, CAST(0x00009B8D00000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (136, NULL, 0.0000, CAST(0x00009B8E00000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (137, NULL, 3200.0000, CAST(0x00009B9300000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (138, NULL, 3200.0000, CAST(0x00009B9200000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (139, NULL, 3250.0000, CAST(0x00009B9100000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (140, NULL, 3200.0000, CAST(0x00009B9800000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (143, CAST(0x00009BE700000000 AS DateTime), 2000.0000, CAST(0x00009BAB00000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (144, CAST(0x00009BE700000000 AS DateTime), 2000.0000, CAST(0x00009BAD00000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (145, CAST(0x00009BA900000000 AS DateTime), 3200.0000, CAST(0x00009B9400000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (146, CAST(0x00009C0000000000 AS DateTime), 1400.0000, CAST(0x00009BA800000000 AS DateTime)) INSERT [dbo].[PROJET] ([numProjet], [dateLivraison], [estimatifProjet], [echeancierProchContact]) VALUES (147, CAST(0x00009BC600000000 AS DateTime), 2200.0000, CAST(0x00009B9100000000 AS DateTime)) SET IDENTITY_INSERT [dbo].[PROJET] OFF /****** Objet : Table [dbo].[INTERLOCUTEUR] Date de génération du script : 01/08/2009 23:22:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[INTERLOCUTEUR]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[INTERLOCUTEUR]( [numInterlocuteur] [int] IDENTITY(1,1) NOT NULL, [nomInterlocuteur] [varchar](40) COLLATE French_CI_AS NULL, [prenomInterlocuteur] [varchar](40) COLLATE French_CI_AS NULL, [numClient] [int] NULL, CONSTRAINT [PK_INTERLOCUTEUR] PRIMARY KEY CLUSTERED ( [numInterlocuteur] ASC )WITH (IGNORE_DUP_KEY = OFF) ) END GO SET IDENTITY_INSERT [dbo].[INTERLOCUTEUR] ON INSERT [dbo].[INTERLOCUTEUR] ([numInterlocuteur], [nomInterlocuteur], [prenomInterlocuteur], [numClient]) VALUES (51, N'Seiller', N'Carole', 54) INSERT [dbo].[INTERLOCUTEUR] ([numInterlocuteur], [nomInterlocuteur], [prenomInterlocuteur], [numClient]) VALUES (52, N'Godreau', N'Lionel', 55) INSERT [dbo].[INTERLOCUTEUR] ([numInterlocuteur], [nomInterlocuteur], [prenomInterlocuteur], [numClient]) VALUES (56, N'Menanteau', N'Jacques', 58) SET IDENTITY_INSERT [dbo].[INTERLOCUTEUR] OFF /****** Objet : Table [dbo].[RENCONTRER] Date de génération du script : 01/08/2009 23:22:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[RENCONTRER]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[RENCONTRER]( [numCommercial] [int] NOT NULL, [numInterlocuteur] [int] NOT NULL, [numProjet] [int] NOT NULL, [dateVisite] [datetime] NULL, [objVisite] [varchar](2) COLLATE French_CI_AS NULL, [remarques] [varchar](200) COLLATE French_CI_AS NULL, CONSTRAINT [PK_RENCONTRER] PRIMARY KEY CLUSTERED ( [numCommercial] ASC, [numInterlocuteur] ASC, [numProjet] ASC )WITH (IGNORE_DUP_KEY = OFF) ) END GO INSERT [dbo].[RENCONTRER] ([numCommercial], [numInterlocuteur], [numProjet], [dateVisite], [objVisite], [remarques]) VALUES (22, 51, 135, CAST(0x00009B8B00000000 AS DateTime), N'EC', N'') INSERT [dbo].[RENCONTRER] ([numCommercial], [numInterlocuteur], [numProjet], [dateVisite], [objVisite], [remarques]) VALUES (22, 52, 138, CAST(0x00009B8B00000000 AS DateTime), N'EC', N'') INSERT [dbo].[RENCONTRER] ([numCommercial], [numInterlocuteur], [numProjet], [dateVisite], [objVisite], [remarques]) VALUES (22, 56, 137, CAST(0x00009B8B00000000 AS DateTime), N'EC', N'') INSERT [dbo].[RENCONTRER] ([numCommercial], [numInterlocuteur], [numProjet], [dateVisite], [objVisite], [remarques]) VALUES (22, 56, 140, CAST(0x00009B8B00000000 AS DateTime), N'EC', N'') INSERT [dbo].[RENCONTRER] ([numCommercial], [numInterlocuteur], [numProjet], [dateVisite], [objVisite], [remarques]) VALUES (22, 56, 145, CAST(0x00009B8B00000000 AS DateTime), N'V', N'') INSERT [dbo].[RENCONTRER] ([numCommercial], [numInterlocuteur], [numProjet], [dateVisite], [objVisite], [remarques]) VALUES (23, 51, 124, CAST(0x00009B8B00000000 AS DateTime), N'V', N'') INSERT [dbo].[RENCONTRER] ([numCommercial], [numInterlocuteur], [numProjet], [dateVisite], [objVisite], [remarques]) VALUES (23, 51, 144, CAST(0x00009B8800000000 AS DateTime), N'EC', N'') INSERT [dbo].[RENCONTRER] ([numCommercial], [numInterlocuteur], [numProjet], [dateVisite], [objVisite], [remarques]) VALUES (23, 52, 146, CAST(0x00009B8B00000000 AS DateTime), N'V', N'') /****** Objet : Trigger [tr_suppr_rencontrer] Date de génération du script : 01/08/2009 23:22:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO create trigger [tr_suppr_rencontrer] on [dbo].[RENCONTRER] after delete as declare @nbProjet as smallint declare @nbInterlocuteur as smallint declare @estActif as char(1) declare @numProjet as int declare @numInterlocuteur as int declare @numCommercial as int select @numProjet=numProjet,@numCommercial=numCommercial from deleted select @nbProjet=count(numProjet) from RENCONTRER where numProjet=@numProjet if (@nbProjet=0) begin delete from PROJET where numProjet=@numProjet end; select @nbProjet=count(numProjet) from RENCONTRER where numCommercial=@numCommercial select @estActif=estActif from COMMERCIAL where numCommercial=@numCommercial if (@nbProjet=0)and(@estActif='0') begin delete from COMMERCIAL where numCommercial=@numCommercial end; select @numInterlocuteur=numInterlocuteur from deleted select @nbInterlocuteur=count(numInterlocuteur) from RENCONTRER where numInterlocuteur=@numInterlocuteur if (@nbInterlocuteur=0) begin delete from INTERLOCUTEUR where numInterlocuteur=@numInterlocuteur end; GO /****** Objet : Trigger [tr_suppr_interlocuteur] Date de génération du script : 01/08/2009 23:22:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO create trigger [tr_suppr_interlocuteur] on [dbo].[INTERLOCUTEUR] after delete as declare @nbClient as smallint declare @numClient as int select @numClient=numClient from deleted select @nbClient=count(numInterlocuteur) from INTERLOCUTEUR where numClient=@numClient if (@nbClient=0) begin delete from CLIENT where numClient=@numClient end; GO /****** Objet : Trigger [tr_suppr_rencontrer_update] Date de génération du script : 01/08/2009 23:22:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TRIGGER [tr_suppr_rencontrer_update] ON [dbo].[RENCONTRER] AFTER UPDATE AS BEGIN IF UPDATE(numProjet) BEGIN WITH CTE_NbProjets(numProjet,nbProjets) AS ( SELECT R.numProjet, COUNT(*) FROM RENCONTRER R JOIN INSERTED I ON I.numProjet = R.numProjet GROUP BY R.numProjet HAVING COUNT(*) = 0 ) DELETE FROM PROJET FROM PROJET P INNER JOIN CTE_NbProjets C ON C.numProjet = P.numProjet END IF UPDATE(numCommercial) BEGIN WITH CTE_Commercial AS ( SELECT C.numCommercial, C.estActif, COUNT(*) nbProjets FROM COMMERCIAL C INNER JOIN RENCONTRER R ON C.numCommercial = R.numCommercial INNER JOIN INSERTED I ON I.numCommercial = C.numCommercial WHERE C.estActif = '0' GROUP BY C.numCommercial, C.estActif HAVING COUNT(*) = 0 ) DELETE FROM COMMERCIAL FROM COMMERCIAL COM INNER JOIN CTE_Commercial CTE ON CTE.numCommercial = COM.numCommercial END IF UPDATE(numInterlocuteur) BEGIN WITH CTE_NbInterlocuteurs(numInterlocuteur,nbInterlocuteur) AS ( SELECT R.numInterlocuteur, COUNT(*) FROM RENCONTRER R JOIN INSERTED I ON I.numInterlocuteur = R.numInterlocuteur GROUP BY R.numInterlocuteur HAVING COUNT(*) = 0 ) DELETE FROM INTERLOCUTEUR FROM INTERLOCUTEUR I INNER JOIN CTE_NbInterlocuteurs C ON C.numInterlocuteur = I.numInterlocuteur END END GO /****** Objet : Trigger [tr_suppr_commercial] Date de génération du script : 01/08/2009 23:22:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO create trigger [tr_suppr_commercial] on [dbo].[COMMERCIAL] after update as if update(estActif) begin declare @numCommercial as int declare @nbProjets as smallint select @numCommercial=numCommercial from inserted select @nbProjets=count(numProjet) from RENCONTRER where numCommercial=@numCommercial if @nbProjets=0 begin delete from COMMERCIAL where numCommercial=@numCommercial end end; GO /****** Objet : ForeignKey [FK_INTERLOCUTEUR_CLIENT] Date de génération du script : 01/08/2009 23:22:38 ******/ IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_INTERLOCUTEUR_CLIENT]') AND parent_object_id = OBJECT_ID(N'[dbo].[INTERLOCUTEUR]')) ALTER TABLE [dbo].[INTERLOCUTEUR] WITH CHECK ADD CONSTRAINT [FK_INTERLOCUTEUR_CLIENT] FOREIGN KEY([numClient]) REFERENCES [dbo].[CLIENT] ([numClient]) GO /****** Objet : ForeignKey [FK_RENCONTRER_COMMERCIAL] Date de génération du script : 01/08/2009 23:22:38 ******/ IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_RENCONTRER_COMMERCIAL]') AND parent_object_id = OBJECT_ID(N'[dbo].[RENCONTRER]')) ALTER TABLE [dbo].[RENCONTRER] WITH CHECK ADD CONSTRAINT [FK_RENCONTRER_COMMERCIAL] FOREIGN KEY([numCommercial]) REFERENCES [dbo].[COMMERCIAL] ([numCommercial]) GO /****** Objet : ForeignKey [FK_RENCONTRER_INTERLOCUTEUR] Date de génération du script : 01/08/2009 23:22:38 ******/ IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_RENCONTRER_INTERLOCUTEUR]') AND parent_object_id = OBJECT_ID(N'[dbo].[RENCONTRER]')) ALTER TABLE [dbo].[RENCONTRER] WITH CHECK ADD CONSTRAINT [FK_RENCONTRER_INTERLOCUTEUR] FOREIGN KEY([numInterlocuteur]) REFERENCES [dbo].[INTERLOCUTEUR] ([numInterlocuteur]) GO /****** Objet : ForeignKey [FK_RENCONTRER_PROJET] Date de génération du script : 01/08/2009 23:22:38 ******/ IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_RENCONTRER_PROJET]') AND parent_object_id = OBJECT_ID(N'[dbo].[RENCONTRER]')) ALTER TABLE [dbo].[RENCONTRER] WITH CHECK ADD CONSTRAINT [FK_RENCONTRER_PROJET] FOREIGN KEY([numProjet]) REFERENCES [dbo].[PROJET] ([numProjet]) GO