Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TSQL-如何作为变量执行查询?_Tsql_Variables - Fatal编程技术网

TSQL-如何作为变量执行查询?

TSQL-如何作为变量执行查询?,tsql,variables,Tsql,Variables,如何执行@query,另外,在分配变量时是否有直接存储查询结果的方法?您可以这样做: DECLARE @query as varchar(200); SET @query = 'SELECT COUNT(*) FROM table'; exec (@query) 或者,最好是这样: DECLARE @query as varchar(200); SET @query = 'SELECT COUNT(*) FROM table'; exec (@query) 有关更多信息,请选中。您可以使

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

您可以这样做:

DECLARE @query as varchar(200);
SET @query = 'SELECT COUNT(*) FROM table';
exec (@query)
或者,最好是这样:

DECLARE @query as varchar(200);
SET @query = 'SELECT COUNT(*) FROM table';
exec (@query)
有关更多信息,请选中。

您可以使用
输出
参数来检索标量结果

execute sp_executesql @query
试试这个:
将@query声明为varchar(200)
从表中选择@query=COUNT(*)

谢谢,不确定我是否正确理解了代码,它是否通过输出将查询结果指定为count变量?@Malyo-它在外部范围中声明了一个变量
@count
。这将在
sp_executesql
调用中作为输出参数传递,这意味着对输出参数的赋值将传播到该变量。有关
输出
参数的更多信息,请参阅。