ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 数据库 >> Oracle >> PL/SQL预定义异常列表

PL/SQL预定义异常列表

来源:网络整理     时间:2015-08-05     关键词:

本篇文章主要介绍了"PL/SQL预定义异常列表",主要涉及到方面的内容,对于Oracle感兴趣的同学可以参考一下: 在学习PL/SQL的过程中,讲师给我们整理了一些常用的异常处理关键字,我分享出来,仅供读者学习与参考。命名的系统异常 产生原因 ACCESS_I...

在学习PL/SQL的过程中,讲师给我们整理了一些常用的异常处理关键字,我分享出来,仅供读者学习与参考。

命名的系统异常         产生原因 

ACCESS_INTO_NULL         未定义对象 
CASE_NOT_FOUND         CASE 中若未包含相应的 WHEN ,并且没有设置 ELSE 时 
COLLECTION_IS_NULL         集合元素未初始化 
CURSER_ALREADY_OPEN         游标已经打开 
DUP_VAL_ON_INDEX         唯一索引对应的列上有重复的值 
INVALID_CURSOR         在不合法的游标上进行操作 
INVALID_NUMBER         内嵌的 SQL 语句不能将字符转换为数字 
NO_DATA_FOUND         使用 select into 未返回行,或应用索引表未初始化的元素时 
TOO_MANY_ROWS         执行 select into 时,结果集超过一行 
ZERO_DIVIDE         除数为 0 
SUBSCRIPT_BEYOND_COUNT         元素下标超过嵌套表或 VARRAY 的最大值 
SUBSCRIPT_OUTSIDE_LIMIT         使用嵌套表或 VARRAY 时,将下标指定为负数 
VALUE_ERROR         赋值时,变量长度不足以容纳实际数据 
LOGIN_DENIED         PL/SQL 应用程序连接到 oracle 数据库时,提供了不正确的用户名或密码 
NOT_LOGGED_ON         PL/SQL 应用程序在没有连接 oralce 数据库的情况下访问数据 
PROGRAM_ERROR         PL/SQL 内部问题,可能需要重装数据字典& pl./SQL 系统包 
ROWTYPE_MISMATCH         宿主游标变量与 PL/SQL 游标变量的返回类型不兼容 
SELF_IS_NULL         使用对象类型时,在 null 对象上调用对象方法 
STORAGE_ERROR         运行 PL/SQL 时,超出内存空间 
SYS_INVALID_ID         无效的 ROWID 字符串 
TIMEOUT_ON_RESOURCE         Oracle 在等待资源时超时
=============================================================
BEGIN
《PL/SQL块》;
Exception
when no_data_found then --没有找到数据
《响应命令》;
when too_many_rows then --返回多行,隐式光标每次只能检索一行数据
《响应命令》;
when invalid_number then --字符向数字转换失败
《响应命令》;
when zero_divide then --被零除
《响应命令》;
when dup_val_on_index then --向唯一索引中插入重复数据
《响应命令》;
when invalid_cursor then --非法游标操作
《响应命令》;
when value_error then --数字的,数据转换,截字符串或强制性的错误
《响应命令》;
when others then --发生其它任何错误
null; --选择一:什么也不做,就当错误没发生
raise form_trigger_failure; --选择二:挂起当前程序
END;
常用预定义例外
EXCEPTION
WHEN CURSOR_ALREADY_OPEN THEN -- ORA-06511 SQLCODE = -6511 游标已经打开
..WHEN DUP_VAL_ON_INDEX THEN -- ORA-00001 SQLCODE = -1 向唯一索引中插入重复数据
..WHEN INVALID_CURSOR THEN -- ORA-01001 SQLCODE = -1001 非法游标操作
..WHEN INVALID_NUMBER THEN -- ORA-01722 SQLCODE = -1722 字符向数字转换失败
..WHEN LOGIN_DENIED THEN -- ORA-01017 SQLCODE = -1017 
..WHEN NO_DATA_FOUND THEN -- ORA-01403 SQLCODE = +100 没有找到数据
..WHEN NOT_LOGGED_ON THEN -- ORA-01012 SQLCODE = -1012 
..WHEN PROGRAM_ERROR THEN -- ORA-06501 SQLCODE = -6501 程序错误
..WHEN STORAGE_ERROR THEN -- ORA-06500 SQLCODE = -6500
..WHEN TIMEOUT_ON_RESOURCE THEN -- ORA-00051 SQLCODE = -51
..WHEN TOO_MANY_ROWS THEN -- ORA-01422 SQLCODE = -1422 返回多行
..WHEN TRANSACTION_BACKED_OUT THEN -- ORA-00061 SQLCODE = -61
..WHEN VALUE_ERROR THEN -- ORA-06502 SQLCODE = -6502 数值转换错误
..WHEN ZERO_DIVIDE THEN -- ORA-01476 SQLCODE = -1476 被零除
..WHEN OTHERS THEN -- 其它任何错误的处理
..END;
__________________

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了PL/SQL预定义异常列表,包括了方面的内容,希望对Oracle有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_157515.html

相关图片

相关文章