クエリーを実行するストアドプロシージャ 「sp_executesql」の実行結果を得る方法です。
■例
-- 変数宣言
DECLARE @C int
DECLARE @S int
-- 実行
EXEC sp_executesql
N'SELECT @C = COUNT(qty), @S = SUM(qty) FROM sales',
N'@C int OUTPUT, @S int OUTPUT',
@C output, @S output
-- 結果出力
SELECT @C [C], @S [S]
■使い方
- 第 1 引数のクエリーでは、変数をそのまま利用できます。
- 第 2 引数の変数宣言では、変数のデータ型の後に、「OUTPUT」 を指定します。
- 第 3 引数以降の引き渡す変数の宣言では、変数名の後に「OUTPUT」を指定します。
Books Online の sp_executesql の部分には、OUTPUT 指定について記載がありませんが、このように使うことができます。