998 lines
16 KiB
Transact-SQL

/****** Object: StoredProcedure [dbo].[addAssignment] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[addAssignment]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[addAssignment]
GO
/****** Object: StoredProcedure [dbo].[updateRole] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[updateRole]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[updateRole]
GO
/****** Object: StoredProcedure [dbo].[addProject] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[addProject]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[addProject]
GO
/****** Object: StoredProcedure [dbo].[addResource] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[addResource]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[addResource]
GO
/****** Object: StoredProcedure [dbo].[addRole] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[addRole]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[addRole]
GO
/****** Object: StoredProcedure [dbo].[deleteAssignment] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[deleteAssignment]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[deleteAssignment]
GO
/****** Object: StoredProcedure [dbo].[deleteProject] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[deleteProject]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[deleteProject]
GO
/****** Object: StoredProcedure [dbo].[deleteResource] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[deleteResource]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[deleteResource]
GO
/****** Object: StoredProcedure [dbo].[deleteRole] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[deleteRole]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[deleteRole]
GO
/****** Object: StoredProcedure [dbo].[existsProject] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[existsProject]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[existsProject]
GO
/****** Object: StoredProcedure [dbo].[existsResource] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[existsResource]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[existsResource]
GO
/****** Object: StoredProcedure [dbo].[getProject] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[getProject]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[getProject]
GO
/****** Object: StoredProcedure [dbo].[getProjects] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[getProjects]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[getProjects]
GO
/****** Object: StoredProcedure [dbo].[getResource] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[getResource]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[getResource]
GO
/****** Object: StoredProcedure [dbo].[getResources] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[getResources]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[getResources]
GO
/****** Object: StoredProcedure [dbo].[getRoles] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[getRoles]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[getRoles]
GO
/****** Object: StoredProcedure [dbo].[updateAssignment] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[updateAssignment]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[updateAssignment]
GO
/****** Object: StoredProcedure [dbo].[updateProject] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[updateProject]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[updateProject]
GO
/****** Object: StoredProcedure [dbo].[updateResource] Script Date: 01/18/2006 09:28:48 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[updateResource]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[updateResource]
GO
/****** Object: StoredProcedure [dbo].[addAssignment] Script Date: 01/18/2006 09:28:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[addAssignment]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE addAssignment
(
@projectId uniqueidentifier,
@resourceId int,
@assigned datetime,
@role int,
@newLastChanged timestamp output
)
AS
INSERT INTO Assignments
(ProjectId,ResourceId,Assigned,Role)
VALUES
(@projectId,@resourceId,@assigned,@role)
SELECT @newLastChanged = LastChanged
FROM Assignments
WHERE ProjectId=@projectId AND ResourceId=@resourceId
RETURN'
END
GO
/****** Object: StoredProcedure [dbo].[updateRole] Script Date: 01/18/2006 09:28:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[updateRole]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[updateRole]
(
@id int,
@name varchar(50),
@lastChanged timestamp,
@newLastChanged timestamp output
)
AS
UPDATE Roles
SET
Name=@name
WHERE Id=@id
AND LastChanged=@lastChanged
IF @@ROWCOUNT = 0
RAISERROR(''Row has been edited by another user'', 16, 1)
SELECT @newLastChanged = LastChanged
FROM Roles WHERE Id=@id
RETURN'
END
GO
/****** Object: StoredProcedure [dbo].[addProject] Script Date: 01/18/2006 09:28:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[addProject]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE addProject
(
@id uniqueidentifier,
@name varchar(50),
@started datetime,
@ended datetime,
@description varchar(MAX),
@newLastChanged timestamp output
)
AS
INSERT INTO Projects
(Id,Name,Started,Ended,Description)
VALUES
(@id,@name,@started,@ended,@description)
SELECT @newLastChanged = LastChanged
FROM Projects WHERE Id=@id
RETURN'
END
GO
/****** Object: StoredProcedure [dbo].[addResource] Script Date: 01/18/2006 09:28:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[addResource]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE addResource
(
@lastName varchar(50),
@firstName varchar(50),
@newId int output,
@newLastChanged timestamp output
)
AS
INSERT INTO Resources
(LastName,FirstName)
VALUES
(@lastName,@firstName)
SELECT @newId = Id, @newLastChanged = LastChanged
FROM Resources WHERE Id=SCOPE_IDENTITY()
RETURN'
END
GO
/****** Object: StoredProcedure [dbo].[addRole] Script Date: 01/18/2006 09:28:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[addRole]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[addRole]
(
@id int,
@name varchar(50),
@newLastChanged timestamp output
)
AS
INSERT INTO Roles
(Id,Name)
VALUES
(@id,@name)
SELECT @newLastChanged = LastChanged
FROM Roles WHERE Id=@id
RETURN'
END
GO
/****** Object: StoredProcedure [dbo].[deleteAssignment] Script Date: 01/18/2006 09:28:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[deleteAssignment]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE deleteAssignment
(
@projectId uniqueidentifier,
@resourceId int
)
AS
DELETE Assignments
WHERE ProjectId=@projectId AND ResourceId=@resourceId
RETURN'
END
GO
/****** Object: StoredProcedure [dbo].[deleteProject] Script Date: 01/18/2006 09:28:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[deleteProject]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE deleteProject
(
@id uniqueidentifier
)
AS
DELETE Assignments
WHERE ProjectId=@id
DELETE Projects
WHERE Id=@id
RETURN'
END
GO
/****** Object: StoredProcedure [dbo].[deleteResource] Script Date: 01/18/2006 09:28:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[deleteResource]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE deleteResource
(
@id int
)
AS
DELETE Assignments
WHERE ResourceId=@id
DELETE Resources
WHERE Id=@id
RETURN'
END
GO
/****** Object: StoredProcedure [dbo].[deleteRole] Script Date: 01/18/2006 09:28:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[deleteRole]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[deleteRole]
(
@id int
)
AS
DELETE Roles
WHERE Id=@id
RETURN'
END
GO
/****** Object: StoredProcedure [dbo].[existsProject] Script Date: 01/18/2006 09:28:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[existsProject]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE dbo.existsProject
(
@id uniqueidentifier
)
AS
SELECT COUNT(*)
FROM Projects WHERE Id=@id
RETURN
'
END
GO
/****** Object: StoredProcedure [dbo].[existsResource] Script Date: 01/18/2006 09:28:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[existsResource]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE dbo.existsResource
(
@id int
)
AS
SELECT COUNT(*)
FROM Resources WHERE Id=@id
RETURN
'
END
GO
/****** Object: StoredProcedure [dbo].[getProject] Script Date: 01/18/2006 09:28:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[getProject]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE getProject
(
@id uniqueidentifier
)
AS
SELECT Id,Name,Started,Ended,Description,LastChanged
FROM Projects
WHERE Id=@id
SELECT ResourceId,LastName,FirstName,Assigned,Role,Assignments.LastChanged AS LastChanged
FROM Resources,Assignments
WHERE ProjectId=@id AND ResourceId=Id
RETURN'
END
GO
/****** Object: StoredProcedure [dbo].[getProjects] Script Date: 01/18/2006 09:28:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[getProjects]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE getProjects
AS
SELECT Id, Name
FROM Projects
RETURN '
END
GO
/****** Object: StoredProcedure [dbo].[getResource] Script Date: 01/18/2006 09:28:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[getResource]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE getResource
(
@id int
)
AS
SELECT Id,LastName,FirstName,LastChanged
FROM Resources
WHERE Id=@id
SELECT ProjectId,Name,Assigned,Role,Assignments.LastChanged AS LastChanged
FROM Projects,Assignments
WHERE ResourceId=@id AND ProjectId=Id
RETURN'
END
GO
/****** Object: StoredProcedure [dbo].[getResources] Script Date: 01/18/2006 09:28:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[getResources]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE getResources
AS
SELECT Id,LastName,FirstName
FROM Resources
RETURN'
END
GO
/****** Object: StoredProcedure [dbo].[getRoles] Script Date: 01/18/2006 09:28:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[getRoles]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[getRoles]
AS
SELECT Id,Name,LastChanged
FROM Roles
RETURN '
END
GO
/****** Object: StoredProcedure [dbo].[updateAssignment] Script Date: 01/18/2006 09:28:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[updateAssignment]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE updateAssignment
(
@projectId uniqueidentifier,
@resourceId int,
@assigned datetime,
@role int,
@lastChanged timestamp,
@newLastChanged timestamp output
)
AS
UPDATE Assignments
SET
Assigned=@assigned,
Role=@role
WHERE ProjectId=@projectId AND ResourceId=@resourceId
AND LastChanged=@lastChanged
IF @@ROWCOUNT = 0
RAISERROR(''Row has been edited by another user'', 16, 1)
SELECT @newLastChanged = LastChanged
FROM Assignments
WHERE ProjectId=@projectId AND ResourceId=@resourceId
RETURN
'
END
GO
/****** Object: StoredProcedure [dbo].[updateProject] Script Date: 01/18/2006 09:28:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[updateProject]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE updateProject
(
@id uniqueidentifier,
@name varchar(50),
@started datetime,
@ended datetime,
@description varchar(MAX),
@lastChanged timestamp,
@newLastChanged timestamp output
)
AS
UPDATE Projects
SET
Name=@name,
Started=@started,
Ended=@ended,
Description=@description
WHERE Id=@id
AND LastChanged=@lastChanged
IF @@ROWCOUNT = 0
RAISERROR(''Row has been edited by another user'', 16, 1)
SELECT @newLastChanged = LastChanged
FROM Projects WHERE Id=@id
RETURN
'
END
GO
/****** Object: StoredProcedure [dbo].[updateResource] Script Date: 01/18/2006 09:28:57 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[updateResource]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE updateResource
(
@id int,
@lastName varchar(50),
@firstName varchar(50),
@lastChanged timestamp,
@newLastChanged timestamp output
)
AS
UPDATE Resources
SET
LastName=@lastName,
FirstName=@firstName
WHERE Id=@id
AND LastChanged=@lastChanged
IF @@ROWCOUNT = 0
RAISERROR(''Row has been edited by another user'', 16, 1)
SELECT @newLastChanged = LastChanged
FROM Resources WHERE Id=@id
RETURN'
END
GO