SQL 将动态查询的值放入变量中
SQL getting value of dynamic query into a variable
我正在使用动态 SQL 查询在 SQL Server 2016 数据库中选择某些内容的 COUNT
,并希望将该值放入变量中。下面是 SQL 语句,我确信它是正确的,但我得到的值是 NULL
(我已经测试了查询并且它 returns 一个值)。有小费吗?
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
我正在使用动态 SQL 查询在 SQL Server 2016 数据库中选择某些内容的 COUNT
,并希望将该值放入变量中。下面是 SQL 语句,我确信它是正确的,但我得到的值是 NULL
(我已经测试了查询并且它 returns 一个值)。有小费吗?
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