我正在使用@
符号执行sqlplus文件中列出的多个脚本文件。
示例:
考虑脚本文件“ all_scripts.sql”包含以下内容。
@my_script_1.sql
@my_script_2.sql
@my_script_3.sql
@my_script_4.sql
我正在使用all_scripts.sql
符号在sqlplus中执行文件@
。每当“ all_scripts.sql”文件中的任何文件发生任何错误时,都应该执行回滚并退出sqlplus,而不执行以下脚本文件。这可以通过使用WHENEVER SQLERROR EXIT SQL.SQLCODE ROLLBACK
命令来实现,该命令在登录数据库后用作第一个命令。一切正常。
但是当PL / SQL块编译时出现错误时,它将显示以下消息。
警告:输入创建时出现编译错误的主体。
在这种情况下,还将执行所有其他脚本文件。我需要回滚并退出sqlplus,而不执行以下脚本文件。
那么,每当Oracle PL / SQL中出现sql警告时,如何回滚并退出sqlplus?