我们有以下批处理脚本:
问题是 - 当出现 SQL 错误时,语句
如果我们在 release.sql 文件中添加垃圾命令,sqlplus 就会抱怨:
(
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
就不行。