tasklist_getusertasklists.sql

来自「一个采用VS2008+Sql2000开发的任务管理系统」· SQL 代码 · 共 36 行

SQL
36
字号
-- =============================================
-- TaskList_GetUserTaskLists
-- =============================================
-- Retrieves a list of task lists that this user belongs to
IF EXISTS (SELECT name 
	   FROM   sysobjects 
	   WHERE  name = N'TaskList_GetUserTaskLists' 
	   AND 	  type = 'P')
    DROP PROCEDURE TaskList_GetUserTaskLists
GO

CREATE PROCEDURE TaskList_GetUserTaskLists
	@Username VarChar(20),
	@PasswordHash VarChar(50),
	@UserToLookUpID BigInt
AS
DECLARE @CurrentUserID BigInt, @IsAdministrator Bit
SET @CurrentUserID = NULL

--Check to make sure this is a valid user, and that they are looking up their own 
--properties, or this user has Administrator priviledges
SELECT @CurrentUserID=ID, @IsAdministrator = IsAdministrator
FROM TaskListUsers 
WHERE Username = @Username AND PasswordHash = @PasswordHash;

IF (@CurrentUserID IS NULL) RETURN 1; --Invalid user
IF (@CurrentUserID != @UserToLookUpID AND @IsAdministrator = 0) Return 1; --Invalid user

	SELECT TaskListNames.ID AS TaskListID, 
				 TaskListNames.[Name] AS TaskListName
	FROM TaskListUsers
	LEFT JOIN TaskListAssignments ON TaskListAssignments.UserID = TaskListUsers.ID
	LEFT JOIN TaskListNames ON TaskListNames.ID = TaskListAssignments.TaskListID
	WHERE TaskListUsers.ID = @UserToLookUpID AND TaskListNames.ID IS NOT NULL AND TaskListNames.Name IS NOT NULL
  ORDER BY TaskListNames.[Name] ASC
	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?