WEB开发网
开发学院数据库Oracle PL/SQL异常处理 阅读

PL/SQL异常处理

 2006-12-30 11:57:39 来源:WEB开发网   
核心提示:在设计PL/SQL程序时,经常会发生这样或那样的错误,PL/SQL异常处理,异常处理就是针对错误进行处理的程序段,Oracle 9i中的异常处理分为系统预定义异常处理和自定义异常处理两部分,在【SQLPlus Worksheet】中执行下列PL/SQL代码,执行结果如图9.57所示,系统预定义异常处理系统预定义异常处理

在设计PL/SQL程序时,经常会发生这样或那样的错误,异常处理就是针对错误进行处理的程序段,Oracle 9i中的异常处理分为系统预定义异常处理和自定义异常处理两部分。

系统预定义异常处理

系统预定义异常处理是针对PL/SQL程序编译、执行过程中发生的问题进行处理的程序。 下列代码为正确代码,在【SQLPlus Worksheet】中能够顺利执行。

  ―――――――――――――――――――――――――――――――――――――
   set serveroutput on
   declare
    tempno integer:=90;
   begin
    tempno:=tempno+1;
   end;
   ―――――――――――――――――――――――――――――――――――――

【配套程序位置】:第9章 correctplsql.sql。

下列代码为错误代码,在【SQLPlus Worksheet】中的执行结果如图9.56所示。

【配套程序位置】:第9章 wrongplsql.sql。

由于代码有错误,因此将激活系统预定义的异常处理,并得出如下提示信息。

Oracle 9i提供了很多异常处理,读者可以尝试修改可以正常运行的程序,并执行修改后的程序,就可以发现调用了哪些异常处理,下面着重介绍如何自定义异常处理。

自定义异常处理

1. 定义异常处理

定义异常处理的语法如下:

declare

异常名 exception;

2. 触发异常处理

触发异常处理的语法如下:

raise 异常名;

3. 处理异常

触发异常处理后,可以定义异常处理部分,语法如下:

Exception

When 异常名1 then

异常处理语句段1;

When 异常名2 then

异常处理语句段2;

4. 实例

下面的PL/SQL程序包含了完整的异常处理定义、触发、处理的过程。定义名为salaryerror的异常,在scott.emp数据表中查找empno=7566的记录,将其值放入变量tempsal中,判断tempsal值若不在900和2600之间,说明该员工的薪水有问题,将激活异常处理,提示信息。

在【SQLPlus Worksheet】中执行下列PL/SQL代码,执行结果如图9.57所示。

【配套程序位置】:第9章 exceptiondefine.sql。

访问更多PL/SQL技术应用专题相关文章请点击这里

Tags:PL SQL 异常

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接