入力パラメータと出力パラメータの両方にデフォルトを割り当てることができます。この例では:
CREATE PROCEDURE MyTest
@Data1 int
,@Data2 int = 0
,@Data3 int = null output
AS
PRINT @Data1
PRINT @Data2
PRINT isnull(@Data3, -1)
SET @Data3 = @Data3 + 1
RETURN 0
最初のパラメーターは必須であり、2番目と3番目はオプションです。呼び出し元のルーチンで設定されていない場合は、デフォルト値が割り当てられます。さまざまな値と設定を使用して、SSMSでそれと次のテスト呼び出しルーチンをいじってみて、すべてがどのように連携するかを確認してください。
DECLARE @Output int
SET @Output = 3
EXECUTE MyTest
@Data1 = 1
,@Data2 = 2
,@Data3 = @Output output
PRINT '---------'
PRINT @Output