EnVisageOnline/Main/Database/Scripts/20160129/02_add_WorkWeek.sql

47 lines
3.2 KiB
Transact-SQL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

USE [EnVisage]
GO
IF (NOT EXISTS (SELECT * FROM sys.tables where name='WorkWeek'))
BEGIN
CREATE TABLE WorkWeek(
[Id] uniqueidentifier NOT NULL,
[Name] nvarchar(200) NOT NULL,
[Monday] bit NOT NULL,
[Tuesday] bit NOT NULL,
[Wednesday] bit NOT NULL,
[Thursday] bit NOT NULL,
[Friday] bit NOT NULL,
[Saturday] bit NOT NULL,
[Sunday] bit NOT NULL,
[IsDefault] bit NOT NULL,
CONSTRAINT [PK_WorkWeek] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
) ON [PRIMARY];
END
GO
if not exists (select * from sys.columns where name='WorkWeekId' and [object_id] = object_id('PeopleResource'))
BEGIN
ALTER TABLE dbo.PeopleResource
ADD
[WorkWeekId] uniqueidentifier NULL
ALTER TABLE PeopleResource WITH
CHECK ADD CONSTRAINT [FK_PeopleResource_WorkWeekId] FOREIGN KEY([WorkWeekId])
REFERENCES WorkWeek ([Id])
ALTER TABLE PeopleResource CHECK CONSTRAINT [FK_PeopleResource_WorkWeekId]
END
GO
declare @Id uniqueidentifier = null;
set @Id = newid();
insert into WorkWeek([Id] ,[Name],[Monday],[Tuesday],[Wednesday],[Thursday] ,[Friday] ,[Saturday] ,[Sunday] ,[IsDefault])
(select @Id, 'Standard Week', 1,1,1,1,1,1,1,1 where not exists (select 1 from WorkWeek where Name = 'Standard Week'));
select @Id=Id from WorkWeek where Name = 'Standard Week';
update PeopleResource set WorkWeekId = @Id where WorkWeekId is null;
ALTER TABLE dbo.PeopleResource ALTER COLUMN [WorkWeekId] uniqueidentifier NOT NULL
GO