检查sqlcmd是否成功

Check if sqlcmd was successful

我正在使用 sqlcmd 在批处理文件中 运行 sql 查询。然后我想 – 根据 sql 查询是否已成功执行 – 做一些事情。

sqlcmd -some flags -Q "Query"
iF successful (
    do this
) ELSE (
    do that
)

谢谢 – 顺便说一句,我是批处理编程的新手。

最简单的方法是 conditional execution(我认为 sqlcmd 在执行不成功的情况下有不同的错误代码):

sqlcmd -some flags -Q "query" &&(
   echo SUCCESS
   echo do something 
   color
)||(
  echo failed
  echo do something else
)

程序的退出代码由 ERRORLEVEL 环境变量表示。使用 if /? 了解更多详情。

sqlcmd -some flags -Q "Query"
if ERRORLEVEL 1 (
    do this failed
) ELSE (
    do that success
)

与@npocmaka 建议的答案类似,它可以使用标志 -b 来完成。例如,

(sqlcmd -b -Q "SELECT * FROM sys.tables" && echo success) || echo failed