我如何在SQLCMD工具中获取%ERRORLEVEL%,当一些.sql文件包含语法错误时?这些文件创建存储过程。它们不调用"raiseerror",但可能包含语法错误,我需要终止进程。但它总是返回0作为%ERRORLEVEL%。我尝试使用-b、-V和-m(以及它们的组合),但没有符合我的预期工作的结果。
以下是我的批处理文件的代码片段。
以下是我的批处理文件的代码片段。
REM process all sql files in "SQL\scripts" folder and subfolders
FOR /R "SQL\scripts" %%G IN (*.sql) DO (
sqlcmd -d %1 -S %2 -U %3 -P %4 -i "%%G" -b -V 1
echo %ERRORLEVEL%
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
)