在下面的脚本中,当出现 sql 错误时,%errorlevel%
为 0 - 这是为什么呢?
IF %RELEASE% GTR 2 (
(
echo WHENEVER SQLERROR EXIT FAILURE
echo @release.sql
echo exit
) | sqlplus x/x@orcl
echo error: %errorlevel%
if %errorlevel% gtr 0 goto dberror
)
如果我删除 if 块(如下),则 %errorlevel% 非零!为什么 if 语句会影响错误级别?
(
echo WHENEVER SQLERROR EXIT FAILURE
echo @release.sql
echo exit
) | sqlplus x/x@orcl
echo error: %errorlevel%
if %errorlevel% gtr 0 goto dberror
更新:相信这是我测试错误的方式。我认为而不是:
if %errorlevel% gtr 0 goto dberror
..应该使用:
if errorlevel 1 goto dberror
有用的链接在这里