SQL 変数への実行結果の代入
質問:
実行呼び出しの結果を SQL 変数に割り当てるにはどうすればよいですか? ?たとえば、単一の日付を返す up_GetBusinessDay という名前のストアド プロシージャがある場合、次のようなステートメントを使用して結果を割り当てることができますか?
exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1
答え:
出力パラメーターを使用することは、結果を変数に直接代入するよりも、推奨されるアプローチです。出力パラメーターを使用してストアド プロシージャを作成する例を次に示します。
CREATE PROCEDURE YourStoredProcedure ( @Param1 int ,@Param2 varchar(5) ,@Param3 datetime OUTPUT ) AS IF ISNULL(@Param1, 0) > 5 BEGIN SET @Param3 = GETDATE() END ELSE BEGIN SET @Param3 = '1/1/2010' END RETURN 0 GO
このストアド プロシージャを呼び出して出力パラメーターを使用するには:
DECLARE @OutputParameter datetime ,@ReturnValue int EXEC @ReturnValue = YourStoredProcedure 1, NULL, @OutputParameter OUTPUT PRINT @ReturnValue PRINT CONVERT(char(23), @OutputParameter, 121)
これは出力します:
0 2010-01-01 00:00:00.000
以上がEXEC 呼び出しの結果を SQL 変数に割り当てる方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。