sql-server - 在 SQLCMD 中访问 SQL 语句的返回值

标签 sql-server batch-file dos sqlcmd

当我在 DOS 批处理文件中运行 SQL 语句时,我试图获取它的值...

sqlcmd -E -S DEVSERVER -Q "SELECT  COUNT(1) as [CaseCount] FROM Cases"

我并不追求像 stackoverflow 这样的错误级别问题,而不是我在从数据库返回的实际计数之后,所以我可以做一些额外的逻辑。

最佳答案

您可以通过使用 -o sqlcmd 标志或使用标准 > 重定向器轻松地将执行结果保存到文本文件中。然后,您可以通过删除列标题(标志 -h)并从 SQL Server 中删除行计数(SET NOCOUNT ON)来格式化此文件。

以下脚本将生成一个仅包含 COUNT(1) 值和换行符的文件 result.txt:

SQLCMD -E -S devserver -Q "SET NOCOUNT ON; SELECT COUNT(1) FROM Cases" -h -1 
  > result.txt

然后用...读回值

set /p value=< result.txt
echo %value%

关于sql-server - 在 SQLCMD 中访问 SQL 语句的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10429011/

相关文章:

sql - 在 SQLCMD 模式下格式化输出?

sql - 如何找到最近更改的行?

windows - 在批处理文件中使用通配符

assembly - BIOS 如何区分 INT 指令中的中断 (08h-12h) 与 CPU 内部的实际异常?

sql-server - "No backupset selected to be restored"SQL Server 2012

sql-server - 无法让 powershell 处理 SQL Server 连接失败

windows - 从 Windows 批处理文件将文件上传到 FTP 时获取 "Could not open data connection to port xxxx"

java - 如何将格式化的 (\and\t) 文本传递给 java 命令行

assembly - 程序集 8086 中数组大小未知

c - 我们如何在命令行开发环境中编写程序?