2011-07-14 68 views
0

我有一個存儲過程,執行一些處理並返回一堆輸出參數。我想調用存儲過程僅用於處理,並不關心輸出參數。有沒有辦法調用存儲過程而不需要必須聲明所有輸出參數的變量?有什麼辦法可以忽略SQL存儲過程的輸出參數嗎?

如果這是不明確......我不希望我的存儲過程調用必須是這樣的:

DECLARE @param1, @param2, @param3 float 
DECLARE @param4, @param5 datetime 
DECLARE @param6, @param7, @param8, @param9 int 
etc.,etc. 
EXEC MyStoredProcedure @param1 OUTPUT, @param2 OUTPUT, @param3 OUTPUT, @param4 OUTPUT....... 

我希望能夠只是說:

EXEC MyStoredProcedure 

有什麼辦法可以指定「我不關心輸出參數 - 忽略它們」嗎?

回答

4

如果SP的參數有默認值,他們沒有在傳遞。

+1

默認輸出參數? – froadie

+0

@froadie - 如果您爲參數('INPUT'或'OUTPUT')設置默認值,則不必聲明它。 – Oded

+1

是的,輸出參數可以有默認值,等等看到我的答案,並給它一個去... – MatBailie

3
CREATE PROCEDURE test (@id INT = 0 OUTPUT) 
    AS 
    BEGIN 
    SELECT @id = @id + 1 
    SELECT @id 
    END 
    GO; 

    DECLARE @x INT 
    SET @x = 9 
    EXEC test @x OUTPUT 
    SELECT @x 
    EXEC test @x 
    SELECT @x 
    EXEC test 
相關問題