sql-server - SQL将动态查询的值放入变量中
问题描述
我正在COUNT
使用动态 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
推荐阅读
- docker - KubeDNS 错误,服务器行为异常
- twitter-bootstrap - 处理`
- delphi - 如何为 IdTCPServer 分配 IP 地址?
- c++ - C++ MEX 和 C MEX 的区别
- html - 为 imacro 编写宏脚本
- java - 在 .classpath 文件 eclipse 中设置 jar 文件的相对路径
- c++ - Box2D OpenGL 错误
- vue.js - 如何在模块中使用 nuxt 挂钩?
- npm - 安装一个“匹配”项目依赖项的依赖项
- javascript - 与 Office UI Fabric 反应 - InputChildren 未触发 onSubmit/onClick