2012-09-03 15 views
1

我有一種情況,我必須從相同的查詢中檢索不同場景的記錄集。我的意思是,必須創建一個函數或存儲過程可以運行多個參數,如果我傳遞2參數,那麼它可以工作,如果我傳遞3參數,那麼也能夠工作等等。我們可以創建一個Sp或函數,我們可以在sql server中傳遞可變參數嗎?我可以傳遞SQL SERVER函數或存儲過程中的變量參數嗎?

回答

1

您可以創建一個可選的(默認)參數的存儲過程:

CREATE PROCEDURE TestProcedure 
(
    @Param1 int = null, 
    @Param2 int = null, 
    ... 
    @ParamN int = null) 
{ 
    //do stuff 
} 

然後,您可以把這個作爲

EXEC TestProcedure 1 
EXEC TestProcedure 1, 2 

等等等等,多達

EXEC TestProcedure 1, 2 ... N 

這顯然意味着參數數量的上限,但如果這是你能接受的,它將實現什麼y或描述

相關問題