簡體   English   中英

SQL 2000:存儲過程錯誤:過程或函數“名稱”需要參數“ @param”(未提供)

[英]SQL 2000: Stored Procedures Error : Procedure or Function 'name' expects parameter '@param', which was not supplied

我有一個存儲過程,聲明如下:

    ALTER PROCEDURE dbo.thisProc
 @ID int,@TypeID int, @DocID int, @Section varchar(10)

我需要的是能夠做到這一點:

如果提供了@ID,則執行一個特定的if塊(如果未提供@ID),然后移動檢查是否輸入了@TypeID,然后執行另一個if塊。

我不想編寫多個sql查詢來處理用戶正在查看的不同輸入/頁面部分。

謝謝。

樣本代碼:

    CREATE PROCEDURE GetArticle
    @ID int,@DoTypeID int, @DocID int, @Sec varchar(10)
AS
IF @ID IS NOT NULL AND , @DocID IS NOT NULL  AND @Sec = 'inner'
BEGIN
  SELECT  "my query is here" 

WHERE Articles.ID = @ID AND Articles.DocID = @DocID  

END
ELSE IF @ID IS NULL AND @DocID  IS NULL  AND @Sec  = 'list'
BEGIN
    EXEC GetDocList @DocTypeID
END

ELSE IF @ID IS NULL AND @DocID  IS NULL  AND @Sec = 'full'
BEGIN
EXEC GetDocList @DocTypeID
END

只需將@id的默認值設置為null。 例如

@id int = null

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM