PL_SQL的异常处理Oracle认证考试

文章作者 100test 发表时间 2009:11:16 19:39:52
来源 100Test.Com百考试题网


"tbbnc">

  在 PL / SQL 中错误信息处理过程分为两步: 引发错误和处理错误。编译处误是由 PL/SQL 编译器产生的,它们应该在执行程序前解决。

  PL/SQL 异常:类型与定义

  处理异常有 3 个基本的步骤:

  1、 声明异常(显式或隐式地声明)

  2、 引发异常(显式或隐式地引发)

  3、 处理异常(如果需要处理的话)

  PL/SQL 异常都具有以下几个基本特征

  错误类型:这界定了错误是 ORA 错误或 PLS 错误

  错误代码:一串表示错误代码的数字

  错误文本:错误信息的文本,包括错误代码

  PL/SQL 的内置错误

  下面列出了在异常处理中使用的声明 / 语句:

  EXCEPTION 声明 : 在声明用户定义的异常时,必须使用这种说明

  RAISE 语句:引发异常时必须使用的指令

  PRAGMA EXCEPTION_INIT 指令:把 Oracle 错误与用户自定义异常关联时使用这种指令。

  SAVE EXCEPTION 子句: 这是 oracle 9i 中新增加的一个内容,主要用于批绑定处理中,如果有一执行失败,则处理会继续进行而不会停止。

  函 数

  可以使用下面两个函数捕获在 PL/SQL 中发生的 Oracle 错误信息

  SQLCODE :该函数返回怀疑有错误的错误代码

  SQLERRM :该函数返回怀疑有错误的错误文本

  过程

  可以使用下面过程的 PL/SQL 中定义用户错误消息。

  RAISE_APPLICATION_ERROR :可以使用这个过程来定义用户错误消息和在使用该过程的位置上暂停程序的执行。

  异常处理程序

  虽然 pl/sql 代码块中异常处理部分是不可缺少的,但是它对于任何 pl/sql 程序来说却都是必要的。强烈推荐在每一个 pl/sql 程序中编写异常处理代码

  异常处理程序是由 EXCEPTION WHEN…… 子句定义的。下面是其语法

  EXCEPTION WHEN exception_name THEN

  …..

  也可以指定多个异常,如下所示:

  EXCEPTION

  WHEN exception_nam1 THEN

  …….

  WHEN exception_nam2 THEN

  ……

  WHEN OTHERS THEN

  ….

  当 ORACLE 错误发生的时候,如果有个紧接着它的异常处理程序,控制就会立即转移到该异常处理程序中;如果没有,控制权就转移到下一个可用的异常处理程序中;如果没有任何异常,程序就会以一个未处理异常形式终止。

  PL/SQL 异常类型

  Pl/sql 中异常基本上可以分为以下几类

  1、 预定义异常

  2、 未定义的 Oracle 异常

  3、 用户自定义异常

  4、 用户自定义的 PL/SQL 错误信息

  处理 PL/SQL 异常

  有两种处理异常的方法:

  1、 处理异常以后程序继续执行

  2、 处理异常以后程序停止执行


相关文章


OraclePLS调试的输出方法Oracle认证考试
10g树形查询新特性Oracle认证考试
oracle自动备份与Oracle远程备份Oracle认证考试
ORACLE10g自动收集CBO统计信息Oracle认证考试
PL_SQL的异常处理Oracle认证考试
Oracle数据库主要的系统表和数据字典视图Oracle认证考试
查看修改ORACLE10G归档日志空间的限制Oracle认证考试
oracle的xmltype例子Oracle认证考试
在oracle中改变字段在表中的顺序Oracle认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛