我正在使用动态SQL查询在SQL Server 2016数据库中选择某个内容的COUNT
,并希望将该值放入变量中。下面是我确定是正确的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
答案 0 :(得分:1)
您需要将@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