预定义说明的 oracle 异常

来源:互联网 发布:迈克尔杰克逊 知乎 编辑:程序博客网 时间:2024/05/16 10:27

 预定义说明的 oracle 异常

ORACLE 错误       异常信息                  说明
ORA-0001             Dup_val_on_index  试图破坏一个唯一性限制
ORA-0051             Timeout-on-resource 在等待资源时发生超时
ORA-0061            Transaction-backed-out  由于发生死锁事务被撤消.
ORA-1001            Invalid-cursor  试图使用一个无效的光标
ORA-1012            Not-logged-on   没有连接到ORACLE
ORA-1017            Login-denied     无效的用户名/口令
ORA-1403           Not-data-found    没有找到数据
ORA-1422           Too-many-rows   select into 返回多行
ORA-1476           Zero-divide          试图被零除
ORA-1722           Invalid-number     转换一个数字失败
ORA-6500           Storage-error      内存不够引发的内部错误
ORA-6501           Program-error    内部错误
ORA-6502          Value-error          转换或截断错误
ORA-6504          Rowtype-mismatch 缩主光标变量与 PL/SQL变量
                                               有不兼容行类型
ORA-6511        Cursor-already-open 试图打开一个已存在的光标
ORA-6530        Access-into-null         试图为null 对象的属性赋值
ORA-6531        Collection-is-null       试图将Exists 以外的集合( collection)
                                方法应用于一个 null pl/sql 表上或varray上
ORA-6532        Subscript-outside-limit 对嵌套或varray索引的引用超出声明范围
                                                           以外
ORA-6533        Subscript-beyond-count 对嵌套或varray 索引得引用大于集合中
                                                             元素的个数.

 

可以使用RAISE_APPLICATION_ERROR 创建自己的错误处理。其语法如下:

RAISE_APPLICATION_ERROR(error_number,error_message,[keep_errors] ) ;

这里的error_number 是从 –20,000 到 –20,999 之间的参数,
            error_message 是相应的提示信息(< 512 字节),
            keep_errors 为可选,如果keep_errors =TRUE ,则新错误将被添加到已经引发的错误列表中。如果keep_errors=FALSE(缺省),则新错误将替换当前的错误列表
 例: RAISE_APPLICATION_ERROR(-20001, p_Department || ' ' || p_Course || 'doesn't exist!');


 

原创粉丝点击