Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/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
Sql server 将动态查询的值获取到变量中的SQL_Sql Server_Dynamic Sql - Fatal编程技术网

Sql server 将动态查询的值获取到变量中的SQL

Sql server 将动态查询的值获取到变量中的SQL,sql-server,dynamic-sql,Sql Server,Dynamic Sql,我正在使用动态SQL查询选择SQL Server 2016数据库中某物的计数,并希望将该值放入变量中。下面是我确信正确的SQL语句,但是我得到的值是NULL(我已经测试了查询,它返回了一个值)。有什么建议吗 DECLARE @Output INT SELECT @SqlCommand = 'SELECT COUNT(ServerName) FROM ' + @TableReference + ' WITH (NOLOCK) WHERE ServerName = ''' + @PackageE

我正在使用动态SQL查询选择SQL Server 2016数据库中某物的
计数
,并希望将该值放入变量中。下面是我确信正确的SQL语句,但是我得到的值是
NULL
(我已经测试了查询,它返回了一个值)。有什么建议吗

DECLARE @Output INT 

SELECT @SqlCommand = 'SELECT COUNT(ServerName) FROM ' + @TableReference + ' WITH (NOLOCK) WHERE ServerName = ''' + @PackageEndPoint + '''' 

EXEC sp_executesql @SqlCommand, N'@Output INT OUTPUT', @Output = @Output OUTPUT

SELECT @StagingRecordCount = @Output

您需要将@Output变量分配给结果计数

@Output = COUNT(ServerName)
完整脚本

DECLARE @Output INT 

SELECT @SqlCommand = 'SELECT @Output = COUNT(ServerName) FROM ' + @TableReference + ' WITH (NOLOCK) WHERE ServerName = ''' + @PackageEndPoint + ''''

EXEC sp_executesql @SqlCommand, N'@Output INT OUTPUT',@Output = @Output OUTPUT
SELECT  @StagingRecordCount = @Output
SELECT @StagingRecordCount