2016-03-28 59 views
-2

usp_auditRejectRequest:收到錯誤:無法將NULL值插入列 'ENTRYID'

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

的[過程或函數可能的複製! !有太多的參數指定](http://stackoverflow.com/questions/17292705/procedure-or-function-has-too-many-arguments-specified) – VikingBlooded

+0

當我使用2個參數,另一個錯誤信息顯示「a null值不能被插入到entryID中「。 AS entryID是我猜的PK!錯誤信息:「無法將值NULL插入到列'entryID',表tbl_enrollmentAudits';列不允許爲空值INSERT失敗 – NOSMILE

+0

回答原始問題時,請不要將問題更改爲新問題。到第一個問題,所以這將是沒有意義的,除非有人通過編輯歷史 – Paparazzi

回答

1
EXECUTE [a01].[usp_auditRejectRequest] 
     NULL,NULL,NULL,@AccountID,@GroupID,0,'User not active' 

當您僅定義2個參數時,您使用7個參數調用usp_auditRejectRequest過程。無論是增加更多的參數,你的程序(你說你不能做的),或者只是用2把它和移動「理性」價值的存儲過程:

EXECUTE [a01].[usp_auditRejectRequest] 
     @AccountID,@GroupID 
+0

當我使用2個參數,另一個錯誤信息顯示「空值不能插入到entryID」作爲entryID是PK我想!錯誤信息:「不能將值NULL插入列'entryID',表tbl_enrollmentAudits';列不允許有空值。 INSERT失敗。「 – NOSMILE

+0

」entryID「是否被自動設置?然後不在你的字段列表中,如果沒有,則將其設置爲有效的非空值 –

+0

entryID是UNIQUEIDENTIFIER,你是什麼意思是「有效」? – NOSMILE

相關問題