【发布时间】:2016-03-28 14:13:32
【问题描述】:
usp_auditRejectRequest:
CREATE PROCEDURE [a01].[usp_auditRejectRequest]
(@accountID UNIQUEIDENTIFIER , @GroupID UNIQUEIDENTIFIER)
AS
BEGIN
INSERT INTO [a01].[tbl_enrollmentAudits]
(entryID,entryDate, requestID, accountID, groupID, accepted, reason)
VALUES( NULL,SYSDATETIMEOFFSET(), NULL, @accountID, @GroupID, 0, NULL);
END
GO
usp_auditAcceptRequest:
CREATE PROCEDURE [a01].[usp_auditAcceptRequest]
(@accountID UNIQUEIDENTIFIER , @GroupID UNIQUEIDENTIFIER)
AS
BEGIN
INSERT INTO [a01].[tbl_enrollmentAudits]
( entryID,entryDate, requestID, accountID, groupID, accepted, reason)
VALUES( NULL,SYSDATETIMEOFFSET(), NULL, @accountID, @GroupID, 1, NULL);
END
GO
usp_addRequest:
CREATE PROCEDURE [a01].[usp_addRequest]
(@AccountID UNIQUEIDENTIFIER, @GroupID UNIQUEIDENTIFIER)
AS
BEGIN
SET NOCOUNT ON
IF ([a01].[udf_isUserActive](@AccountID) = 0)
BEGIN
EXECUTE [a01].[usp_auditRejectRequest]
@AccountID, @GroupID
RETURN;
END;
IF ([a01].[udf_isUserBlockedFromGroup](@GroupID)=0)
BEGIN
EXECUTE [a01].[usp_auditRejectRequest]
@AccountID, @GroupID
RETURN;
END;
END;
GO
输出:添加一个非活动用户:
BEGIN
DECLARE @AccountID UNIQUEIDENTIFIER;
DECLARE @GroupID UNIQUEIDENTIFIER;
(SELECT @AccountID = accountID
FROM [a01].[tbl_userAccounts] WHERE accountUsername='adrianab');
(SELECT @GroupID = groupID FROM [a01].[tbl_groups] WHERE groupName LIKE '%Foo%');
EXECUTE [a01].[usp_addRequest] @AccountID, @GroupID;
END;
GO
我不能再声明任何 UNIQUE IDENTIFIed,accountId 和 groupID 是我唯一可以按照讲师的指示使用的。
【问题讨论】:
-
当我使用 2 个参数时,另一个错误消息显示“无法将空值插入 entryID”。我想 AS entryID 是一个 PK!错误消息:“无法将值 NULL 插入到列 'entryID',表 tbl_enrollmentAudits';列不允许空值。插入失败
-
原问题回答完毕后,请勿将问题更改为新问题。发布的已接受答案是针对第一个问题的,因此除非有人查看编辑历史记录,否则这将毫无意义。
标签: sql-server tsql stored-procedures