ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE笔记(10)PL/SQL编程(4) 异常处理

ORACLE笔记(10)PL/SQL编程(4) 异常处理

原创 Linux操作系统 作者:sap-barrypan 时间:2009-03-25 17:35:45 0 删除 编辑

         在PL/SQL中一个警告或错误的情形都叫做异常。通常说的异常处理是针对运行时刻错误进行的处理。异常处理的格式一般如下:

BEGIN

EXCEPTION

WHEN  excep_name1  THEN

......

WHEN  excep_name2  THEN

......

WHEN  OTEHRS   THEN

......

END;

 

常见异常情况:

CURSOR_ALREADY_OPEN          试图打开一个已打开的光标
DUP_VAL_ON_INDEX                     试图破坏一个唯一性限制
INVALID_CURSOR                           试图使用一个无效光标
INVALID_NUMBER                           试图对非数字值进行数字操作
LOGIN_DENIED                                无效的用户名或口令
NO_DATA_FOUND                           查询未找到数据
NOT_LOGGEN_ON                          还未连接就试图数据库操作
PROGRAM_ERROR                         内部错误
ROWTYPE_MISMATCH                    主变量和光标的类型不兼容
STORAGE_ERROR                           内部错误
TIMEOUT_ON_RESOURCE            发生超时
TOO_MANY_ROWS                           SELECT INTO 命令返回的多行
TRANSACTION_BACKED_OUT      由于死锁提交被退回
VALUE_ERROR                                 转换或剪裁错误
ZERO_DIVIDE                                     试图被零除

 

当一个异常情态是在块的执行部分引发的时,PL/SQL 使用下面的规则确定激活哪一个异常处理器:

1,若当前块对该异常情态设置了处理器,则执行它并成功完成该快的执行,然后控制转给包含块。

2,若当前块没有该处理器,则通过在包含块中引发它来传播异常情态,然后对包含块执行PL/SQL的异常操作。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16683570/viewspace-578384/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-06

  • 博文量
    74
  • 访问量
    187031