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

如何执行@query,另外,在分配变量时有没有办法直接存储查询结果?

4

3 回答 3

32

您可以使用sp_executesqlwithoutput参数来检索标量结果。

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 回答
-2

试试这个 :
declare @query as varchar(200) select @query = COUNT(*) from table

于 2018-09-19T18:24:55.300 回答