2011-07-14 22 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

はい、OUTPUTパラメータにはデフォルト値などを設定することができます。私の答えを参照してください... – 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 
関連する問題