19
DECLARE @query as varchar(200);
SET @query = 'SELECT COUNT(*) FROM table';

を実行するにはどうすればよい@queryですか?さらに、変数を割り当てるときにクエリ結果を直接保存する方法はありますか?

4

3 に答える 3

32

パラメータとともに使用sp_executesqlしてoutput、スカラー結果を取得できます。

DECLARE @query as nvarchar(200), @count int;
SET @query = N'SELECT @count = COUNT(*)  FROM table';

EXEC sp_executesql @query, 
                   N'@count int OUTPUT', 
                   @count = @count OUTPUT

SELECT @count AS [@count]
于 2012-05-28T08:53:34.470 に答える
13

次のように実行できます。

exec (@query)

または、できれば次のようにします。

execute sp_executesql @query

詳細については、この MSDN の記事を確認してください。

于 2012-05-28T08:52:47.963 に答える