Sql server 将动态查询的值获取到变量中的SQL
我正在使用动态SQL查询选择SQL Server 2016数据库中某物的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语句,但是我得到的值是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