当某些.sql文件包含语法错误时,如何从sqlCMD实用程序获取%ERRORLEVEL%?这些文件创建存储过程.他们不会调用“raiseerror”,但是它们可以让conatin语法错误,我需要终止进程.
但是它总是返回%ERRORLEVEL%为0.
我尝试使用-b,-V和-m(和它们的组合),但是对我来说没有任何预期的效果.
@H_301_9@解决方法
但是它总是返回%ERRORLEVEL%为0.
我尝试使用-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% )