查找资料总结了ORACLE预定义异常及产生的原因,若有出入请多多指教。
Exception
| Oracle Error
| SQLCODE Value
| 产生原因
| ACCESS_INTO_NULL
| ORA-06530
| -6530
| 未定义对象
| CASE_NOT_FOUND
| ORA-06592
| -6592
| CASE 中若未包含相应的 WHEN ,并且没有设置 ELSE 时
| COLLECTION_IS_NULL
| ORA-06531
| -6531
| 集合元素未初始化
| CURSOR_ALREADY_OPEN
| ORA-06511
| -6511
| 游标已经打开
| DUP_VAL_ON_INDEX
| ORA-00001
| -1
| 唯一索引对应的列上有重复的值
| INVALID_CURSOR
| ORA-01001
| -1001
| 在不合法的游标上进行操作
| INVALID_NUMBER
| ORA-01722
| -1722
| 内嵌的 SQL 语句不能将字符转换为数字
| LOGIN_DENIED
| ORA-01017
| -1017
| PL/SQL 应用程序连接到 oracle 数据库时,提供了不正确的用户名或密码
| NO_DATA_FOUND
| ORA-01403
| +100
| 使用 select into 未返回行,或应用索引表未初始化的元素时
| NOT_LOGGED_ON
| ORA-01012
| -1012
| PL/SQL 应用程序在没有连接 oralce 数据库的情况下访问数据
| PROGRAM_ERROR
| ORA-06501
| -6501
| PL/SQL 内部问题,可能需要重装数据字典& pl./SQL 系统包
| ROWTYPE_MISMATCH
| ORA-06504
| -6504
| 宿主游标变量与 PL/SQL 游标变量的返回类型不兼容
| SELF_IS_NULL
| ORA-30625
| -30625
| 使用对象类型时,在 null 对象上调用对象方法
| STORAGE_ERROR
| ORA-06500
| -6500
| 运行 PL/SQL 时,超出内存空间
| SUBSCRIPT_BEYOND_COUNT
| ORA-06533
| -6533
| 元素下标超过嵌套表或 VARRAY 的最大值
| SUBSCRIPT_OUTSIDE_LIMIT
| ORA-06532
| -6532
| 使用嵌套表或 VARRAY 时,将下标指定为负数
| SYS_INVALID_ROWID
| ORA-01410
| -1410
| 无效的 ROWID 字符串
| TIMEOUT_ON_RESOURCE
| ORA-00051
| -51
| Oracle 在等待资源时超时
| TOO_MANY_ROWS
| ORA-01422
| -1422
| 执行 select into 时,结果集超过一行
| VALUE_ERROR
| ORA-06502
| -6502
| 赋值时,变量长度不足以容纳实际数据
| ZERO_DIVIDE
| ORA-01476
| -1476
| 除数为 0
|
|