0.7.820.0.sqldataprovider.sql
来自「BugNET is an issue tracking and project 」· SQL 代码 · 共 1,382 行 · 第 1/3 页
SQL
1,382 行
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_Role_RoleExists]'
GO
CREATE PROCEDURE dbo.BugNet_Role_RoleExists
@RoleName nvarchar(256),
@ProjectId int
AS
BEGIN
IF (EXISTS (SELECT RoleName FROM dbo.Roles WHERE @RoleName = RoleName AND ProjectId = @ProjectId))
RETURN(1)
ELSE
RETURN(0)
END
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[BugNet_Role_GetRolesByProject]'
GO
ALTER PROCEDURE dbo.BugNet_Role_GetRolesByProject
@ProjectId int
AS
SELECT RoleId,ProjectId, RoleName, Description, AutoAssign
FROM Roles
WHERE ProjectId = @ProjectId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[Bug]'
GO
ALTER TABLE [dbo].[Bug] ALTER COLUMN [DueDate] [datetime] NULL
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_Role_GetProjectRolesByUser]'
GO
CREATE procedure [dbo].[BugNet_Role_GetProjectRolesByUser]
@UserName nvarchar(256),
@ProjectId int
AS
DECLARE @UserId UNIQUEIDENTIFIER
SELECT @UserId = UserId FROM aspnet_users WHERE Username = @UserName
SELECT Roles.RoleName,
Roles.ProjectId,
Roles.Description,
Roles.RoleId,
Roles.AutoAssign
FROM UserRoles
INNER JOIN aspnet_users ON UserRoles.UserId = aspnet_users.UserId
INNER JOIN Roles ON UserRoles.RoleId = Roles.RoleId
WHERE aspnet_users.UserId = @UserId
AND (Roles.ProjectId IS NULL OR Roles.ProjectId = @ProjectId)
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[BugNet_Role_GetRolesByUser]'
GO
ALTER procedure [dbo].[BugNet_Role_GetRolesByUser]
@UserName nvarchar(256)
AS
DECLARE @UserId UNIQUEIDENTIFIER
SELECT @UserId = UserId FROM aspnet_users WHERE Username = @UserName
SELECT Roles.RoleName,
Roles.ProjectId,
Roles.Description,
Roles.RoleId,
Roles.AutoAssign
FROM UserRoles
INNER JOIN aspnet_users ON UserRoles.UserId = aspnet_users.UserId
INNER JOIN Roles ON UserRoles.RoleId = Roles.RoleId
WHERE aspnet_users.UserId = @UserId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[BugNet_Permission_GetPermissionsByRole]'
GO
ALTER PROCEDURE [dbo].[BugNet_Permission_GetPermissionsByRole]
@RoleId int
AS
SELECT Permission.PermissionId,PermissionKey, Name FROM Permission
Inner join RolePermission on RolePermission.PermissionId = Permission.PermissionId
WHERE RoleId = @RoleId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[Project]'
GO
ALTER TABLE [dbo].[Project] ADD
[AllowAttachments] [bit] NOT NULL CONSTRAINT [DF_Project_AllowAttachments] DEFAULT ((1))
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_Role_IsUserInRole]'
GO
CREATE procedure dbo.BugNet_Role_IsUserInRole
@UserName nvarchar(256),
@RoleId int,
@ProjectId int
AS
DECLARE @UserId UNIQUEIDENTIFIER
SELECT @UserId = UserId FROM aspnet_users WHERE Username = @UserName
SELECT UserRoles.UserId,
UserRoles.RoleId
FROM UserRoles
INNER JOIN Roles ON UserRoles.RoleId = Roles.RoleId
WHERE UserRoles.UserId = @UserId
AND UserRoles.RoleId = @RoleId
AND Roles.ProjectId = @ProjectId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_Role_RemoveUserFromRole]'
GO
CREATE PROCEDURE dbo.BugNet_Role_RemoveUserFromRole
@UserName nvarchar(256),
@RoleId Int
AS
DECLARE @UserId UNIQUEIDENTIFIER
SELECT @UserId = UserId FROM aspnet_users WHERE Username = @UserName
DELETE
UserRoles
WHERE
UserId = @UserId
AND RoleId = @RoleId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_Role_AddUserToRole]'
GO
CREATE PROCEDURE dbo.BugNet_Role_AddUserToRole
@UserName nvarchar(256),
@RoleId int
AS
DECLARE @UserId UNIQUEIDENTIFIER
SELECT @UserId = UserId FROM aspnet_users WHERE Username = @UserName
IF NOT EXISTS (SELECT UserId FROM UserRoles WHERE UserId = @UserId AND RoleId = @RoleId)
BEGIN
INSERT UserRoles
(
UserId,
RoleId
)
VALUES
(
@UserId,
@RoleId
)
END
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[BugNet_Bug_GetRoadMap]'
GO
ALTER PROCEDURE [dbo].[BugNet_Bug_GetRoadMap]
@ProjectId int
AS
SELECT dbo.Bug.BugID, dbo.Bug.Summary, dbo.Bug.Description, dbo.Bug.ReportedDate, dbo.Bug.StatusID, dbo.Bug.PriorityID, dbo.Bug.TypeID,
dbo.Bug.ComponentID, dbo.Bug.ProjectID, dbo.Bug.ResolutionID, dbo.Bug.VersionID, dbo.Bug.LastUpdate, dbo.Bug.ReporterUserId,
dbo.Bug.AssignedToUserId, dbo.Bug.LastUpdateUserId, dbo.Status.Name AS StatusName, dbo.Component.Name AS ComponentName,
dbo.Priority.Name AS PriorityName, dbo.Project.Name AS ProjectName, dbo.Project.Code AS ProjectCode, dbo.Resolution.Name AS ResolutionName,
dbo.Type.Name AS TypeName, ISNULL(dbo.Version.Name, 'Unassigned') AS VersionName, LastUpdateUsers.UserName AS LastUpdateUserName,
ReportedUsers.UserName AS ReporterUserName, ISNULL(AssignedUsers.UserName, 'Unassigned') AS AssignedToUserName, dbo.Bug.DueDate,
dbo.Bug.FixedInVersionId, ISNULL(FixedInVersion.Name, 'Unassigned') AS FixedInVersionName, dbo.Bug.Visibility
FROM dbo.Bug LEFT OUTER JOIN
dbo.Component ON dbo.Bug.ComponentID = dbo.Component.ComponentID LEFT OUTER JOIN
dbo.Priority ON dbo.Bug.PriorityID = dbo.Priority.PriorityID LEFT OUTER JOIN
dbo.Project ON dbo.Bug.ProjectID = dbo.Project.ProjectID LEFT OUTER JOIN
dbo.Resolution ON dbo.Bug.ResolutionID = dbo.Resolution.ResolutionID LEFT OUTER JOIN
dbo.Status ON dbo.Bug.StatusID = dbo.Status.StatusID LEFT OUTER JOIN
dbo.Type ON dbo.Bug.TypeID = dbo.Type.TypeID LEFT OUTER JOIN
dbo.Version ON dbo.Bug.VersionID = dbo.Version.VersionID LEFT OUTER JOIN
dbo.aspnet_Users AS AssignedUsers ON dbo.Bug.AssignedToUserId = AssignedUsers.UserId LEFT OUTER JOIN
dbo.aspnet_Users AS ReportedUsers ON dbo.Bug.ReporterUserId = ReportedUsers.UserId LEFT OUTER JOIN
dbo.aspnet_Users AS LastUpdateUsers ON dbo.Bug.LastUpdateUserId = LastUpdateUsers.UserId LEFT OUTER JOIN
dbo.Version AS FixedInVersion ON dbo.Bug.FixedInVersionId = FixedInVersion.VersionID
WHERE
Bug.ProjectId = @ProjectId
AND
FixedInVersionId <> -1
ORDER BY FixedInVersion.SortOrder ASC,Bug.StatusID ASC,ComponentName ASC, TypeName ASC, AssignedToUserName ASC
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[BugNet_Attachment_CreateNewAttachment]'
GO
ALTER PROCEDURE [dbo].[BugNet_Attachment_CreateNewAttachment]
@BugId int,
@FileName nvarchar(100),
@Description nvarchar(80),
@FileSize Int,
@ContentType nvarchar(50),
@UploadedUserName nvarchar(255)
AS
-- Get Uploaded UserID
DECLARE @UploadedUserId UniqueIdentifier
SELECT @UploadedUserId = UserId FROM aspnet_users WHERE Username = @UploadedUserName
INSERT BugAttachment
(
BugID,
FileName,
Description,
FileSize,
Type,
UploadedDate,
UploadedUserId
)
VALUES
(
@BugId,
@FileName,
@Description,
@FileSize,
@ContentType,
GetDate(),
@UploadedUserId
)
RETURN scope_identity()
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[BugNet_BugNotification_CreateNewBugNotification]'
GO
ALTER PROCEDURE [dbo].[BugNet_BugNotification_CreateNewBugNotification]
@BugId Int,
@NotificationUsername NVarChar(255)
AS
DECLARE @UserId UniqueIdentifier
SELECT @UserId = UserId FROM aspnet_Users WHERE Username = @NotificationUsername
IF NOT EXISTS( SELECT BugNotificationId FROM BugNotification WHERE CreatedUserId = @UserId AND BugId = @BugId)
BEGIN
INSERT BugNotification
(
BugId,
CreatedUserId
)
VALUES
(
@BugId,
@UserId
)
RETURN scope_identity()
END
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[BugsView]'
GO
/* Handles 'unassigned' version
*/
ALTER VIEW dbo.BugsView
AS
SELECT dbo.Bug.BugID, dbo.Bug.Summary, dbo.Bug.Description, dbo.Bug.ReportedDate, dbo.Bug.StatusID, dbo.Bug.PriorityID, dbo.Bug.TypeID,
dbo.Bug.ComponentID, dbo.Bug.ProjectID, dbo.Bug.ResolutionID, dbo.Bug.VersionID, dbo.Bug.LastUpdate, dbo.Bug.ReporterUserId,
dbo.Bug.AssignedToUserId, dbo.Bug.LastUpdateUserId, dbo.Status.Name AS StatusName, dbo.Component.Name AS ComponentName,
dbo.Priority.Name AS PriorityName, dbo.Project.Name AS ProjectName, dbo.Project.Code AS ProjectCode, dbo.Resolution.Name AS ResolutionName,
dbo.Type.Name AS TypeName, ISNULL(dbo.Version.Name, 'Unassigned') AS VersionName, LastUpdateUsers.UserName AS LastUpdateUserName,
ReportedUsers.UserName AS ReporterUserName, ISNULL(AssignedUsers.UserName, 'Unassigned') AS AssignedToUserName, dbo.Bug.DueDate,
dbo.Bug.FixedInVersionId, ISNULL(FixedInVersion.Name, 'Unassigned') AS FixedInVersionName, dbo.Bug.Visibility
FROM dbo.Bug LEFT OUTER JOIN
dbo.Component ON dbo.Bug.ComponentID = dbo.Component.ComponentID LEFT OUTER JOIN
dbo.Priority ON dbo.Bug.PriorityID = dbo.Priority.PriorityID LEFT OUTER JOIN
dbo.Project ON dbo.Bug.ProjectID = dbo.Project.ProjectID LEFT OUTER JOIN
dbo.Resolution ON dbo.Bug.ResolutionID = dbo.Resolution.ResolutionID LEFT OUTER JOIN
dbo.Status ON dbo.Bug.StatusID = dbo.Status.StatusID LEFT OUTER JOIN
dbo.Type ON dbo.Bug.TypeID = dbo.Type.TypeID LEFT OUTER JOIN
dbo.Version ON dbo.Bug.VersionID = dbo.Version.VersionID LEFT OUTER JOIN
dbo.aspnet_Users AS AssignedUsers ON dbo.Bug.AssignedToUserId = AssignedUsers.UserId LEFT OUTER JOIN
dbo.aspnet_Users AS ReportedUsers ON dbo.Bug.ReporterUserId = ReportedUsers.UserId LEFT OUTER JOIN
dbo.aspnet_Users AS LastUpdateUsers ON dbo.Bug.LastUpdateUserId = LastUpdateUsers.UserId LEFT OUTER JOIN
dbo.Version AS FixedInVersion ON dbo.Bug.FixedInVersionId = FixedInVersion.VersionID
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[BugNet_Project_GetAllProjects]'
GO
ALTER PROCEDURE [dbo].[BugNet_Project_GetAllProjects]
AS
SELECT
ProjectId,
Name,
Code,
Description,
UploadPath,
ManagerUserId,
CreatorUserId,
CreateDate,
Project.Active,
AccessType,
Managers.UserName ManagerDisplayName,
Creators.UserName CreatorDisplayName,
AllowAttachments
FROM
Project
INNER JOIN aspnet_users AS Managers ON Managers.UserId = Project.ManagerUserId
INNER JOIN aspnet_users AS Creators ON Creators.UserId = Project.CreatorUserId
ORDER BY Name ASC
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[BugNet_Project_GetProjectById]'
GO
ALTER PROCEDURE [dbo].[BugNet_Project_GetProjectById]
@ProjectId INT
AS
SELECT
ProjectId,
Name,
Code,
Description,
UploadPath,
ManagerUserId,
CreatorUserId,
CreateDate,
Project.Active,
AccessType,
Managers.UserName ManagerDisplayName,
Creators.UserName CreatorDisplayName,
AllowAttachments
FROM
Project
INNER JOIN aspnet_users AS Managers ON Managers.UserId = Project.ManagerUserId
INNER JOIN aspnet_users AS Creators ON Creators.UserId = Project.CreatorUserId
WHERE
ProjectId = @ProjectId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[BugNet_Project_GetPublicProjects]'
GO
ALTER PROCEDURE [dbo].[BugNet_Project_GetPublicProjects]
AS
SELECT
ProjectId,
Name,
Code,
Description,
UploadPath,
ManagerUserId,
CreatorUserId,
CreateDate,
Project.Active,
AccessType,
Managers.UserName ManagerDisplayName,
Creators.UserName CreatorDisplayName,
AllowAttachments
FROM
Project
INNER JOIN aspnet_users AS Managers ON Managers.UserId = Project.ManagerUserId
INNER JOIN aspnet_users AS Creators ON Creators.UserId = Project.CreatorUserId
WHERE
AccessType = 1 AND Project.Active = 1
ORDER BY Name ASC
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[BugNet_Project_GetProjectByCode]'
GO
ALTER PROCEDURE [dbo].[BugNet_Project_GetProjectByCode]
@ProjectCode nvarchar(3)
AS
SELECT
ProjectId,
Name,
Code,
Description,
UploadPath,
ManagerUserId,
CreatorUserId,
CreateDate,
Project.Active,
AccessType,
Managers.UserName ManagerDisplayName,
Creators.UserName CreatorDisplayName,
AllowAttachments
FROM
Project
INNER JOIN aspnet_users AS Managers ON Managers.UserId = Project.ManagerUserId
INNER JOIN aspnet_users AS Creators ON Creators.UserId = Project.CreatorUserId
WHERE
Code = @ProjectCode
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Altering [dbo].[BugNet_Project_UpdateProject]'
GO
ALTER PROCEDURE [dbo].[BugNet_Project_UpdateProject]
@ProjectId int,
@Name nvarchar(50),
@Code nvarchar(3),
@Description nvarchar(80),
@ManagerUserName nvarchar(255),
@UploadPath nvarchar(80),
@AccessType int,
@Active int,
@AllowAttachments bit
AS
DECLARE @ManagerUserId UNIQUEIDENTIFIER
SELECT @ManagerUserId = UserId FROM aspnet_users WHERE Username = @ManagerUserName
UPDATE Project SET
Name = @Name,
Code = @Code,
Description = @Description,
ManagerUserId = @ManagerUserId,
UploadPath = @UploadPath,
AccessType = @AccessType,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?