「0」で初期化する出力パラメータを持つストアド プロシージャがあります。
ALTER PROCEDURE dbo.SomeProcedure
@someparam INT = 0 OUT
...
ただし、プロシージャが実行中にそのパラメータを変更または設定しない場合、出力値は期待どおりの「0」ではなく、NULL になります。
プロシージャコードにデフォルト値を設定することは必須ですか?
SET @someparam = 0;
宣言での初期化を回避しますか?
なぜSQL Serverが出力パラメータの宣言でデフォルト値を許可するのですか?