如何在DOS批处理脚本中检测sqlplus错误?

5
我们有以下批处理脚本:
(
echo @release.sql
echo exit
) | sqlplus x/y@orcl

if %errorlevel% gtr 1 goto dberror

问题是 - 当出现 SQL 错误时,语句 if %errorlevel% gtr 1 似乎永远不会为真。
如果我们在 release.sql 文件中添加垃圾命令,sqlplus 就会抱怨:
SQL> SP2-0042: unknown command "blah" - rest of line ignored.
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

但是%errorlevel%仍然等于0。我们如何确定有SQL错误?


更新:这段代码似乎可以处理某些SQL错误。如果我执行drop table blah它会工作,但如果只执行命令blah就不行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接