当我在 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/