|
|
|
|
移动端

2.3.7 SQL*Plus中的异常处理

《Oracle PL/SQL程序设计(第6版)(上下册)》第2章创建和运行PL/SQL代码,本章将展示如何在一个最基本的层面上(使用SQL*Plus)完成上述任务,同时对这些细小差别进行大致的讲述。本节为大家介绍SQL*Plus中的异常处理。

作者:方鑫 译来源:人民邮电出版社|2017-09-06 20:04

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


2.3.7 SQL*Plus中的异常处理

SQL*Plus表达运行成功的方式与命令的种类相关。对于大多数SQL*Plus独有的命令,如果没有返回错误信息,那么就表示运行成功。另一方面,SQL和PL/SQL命令,通常会返回某种正面的文字来表示运行成功。

如果SQL或PL/SQL语句在SQL*Plus中执行时遇到错误,默认SQL*Plus会引发错误信息,同时继续执行后续的语句。如果我们工作在交互环境中,这种异常处理方式是不错的,但如果我们是在运行一个脚本,大多数情况下,我们希望当出现错误时,SQL*Plus会话被终止。我们可以通过下面的命令进行设置:

  1. SQL> WHENEVER SQLERROR EXIT SQL.SQLCODE 

这样一来,在当前会话中,如果数据库服务器返回了一个SQL或PL/SQL运行错误,那么SQL*Plus就会终止。它把返回代码设置成一个非0值,我们就可以在调用环境中捕捉到这个值。否则,SQL*Plus总是会以返回值0结束,让我们误以为脚本执行成功了。

这个命令的另一个形式是:

  1. SQL> WHENEVER SQLERROR EXIT SQL.SQLCODE ROLLBACK 

这个指令除了上个命令的含义,还指示SQL*Plus在退出前,回滚尚未提交的变更。

喜欢的朋友可以添加我们的微信账号:

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

框架设计(第2版)CLR Via C#

作为深受编程人员爱戴和尊敬的编程专家,微软.NET开发团队的顾问,本书作者Jeffrey Richter针对开发各种应用程序(如Web Form、Windows For...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊