首页 > Linux操作系统 > Linux操作系统 > ORACLE SQLCODE
| EXCEPTION WHEN exception_Name THEN --exception_Name为异常的名字 statement1; WHEN OTHERS THEN statement1; |
| 错误代码是负整数,如-51 |
|
| Access_info_null(ora-06530) |
当访问没有初始化的对象时触发。 |
| Case_not_found(ora-06592) |
case过程中when后没有包含必要的条件分支并且没有else子句,则会触发本异常。 |
| Collection_is_null(06531) |
访问未初始化的集合元素(嵌套表或者varray)。 |
| Cursor_already_open(ora-06511) |
重新打开已经打开的游标。 |
| Dup_val_on_index(ora-00001) |
当中唯一索引所对应的列上键入重复值时。 |
| Invalid_cursor(ora-01001) |
试图在不合法的游标上执行操作时,譬如没打开游标就提取内容 |
| Invalid_number(ora-01722) |
当试图将非法的字符串转换为数字类型时。 |
| No_data_found(ora-01403) |
执行select into未返回行,或者引用了索引表未初始化的元素时。 |
| Too_many_rows(ora-01422) |
执行select into返回超过一行数据时。 |
| Zero_divide(ora-01476) |
0作为被除数时。 |
| Subscript_beyond_count(ora-06533) |
使用嵌套表或者varray集合时,如果引用下标超过last。 |
| Subscript_outside_limit(ora-06532) |
使用嵌套表或varray集合时,如果引用下标小于first。 |
| Value_error(ora-06502) |
在执行赋值操作时,如果变量长度不足以容纳实际数据。 |
| Login_denied(ora-01017) |
连接数据库时提供了不正确的用户名或口令。 |
| Not_logged_on(ora-01012) |
在程序没有连接到oracle数据库时执行plsql代码则会触发。 |
| Program_error(ora-06501) |
plsql内部问题。 |
| Rowtype_mismatch(ora-06504) |
执行赋值操作时,如果宿主游标变量和PLSQL游标变量返回类型不兼容时。 |
| Self_is_null(ora-30625) |
使用对象类型时,如果在null实例上调用成员方法。 |
| Storage_error(ora-06500) |
超出内存空间或者内存被损坏。 |
| Sys_invalid_rowid(ora-01410) |
无效字符串企图转换为rowid类型时。 |
| Timeout_on_resource(ora-00051) |
等待资源时出现超时错误。 |
| DECLARE e_integrity EXCEPTION; --1、定义部分 PRAGMA EXCEPTION_INIT (e_integrity, -2291); --2、建立关联关系 BEGIN UPDATE emp SET deptno= &dno WHERE empno = &eno; EXCEPTION WHEN e_integrity THEN --3、捕捉处理 DBMS_OUTPUT.PUT_LINE(‘该部门不存在’); END; |
| declare myexception exception; begin if 1=0 then raise myexception; endif; exception when myexception then dbms_output.put_line('asdf'); end; |
| Begin Exception When others then Dbms_output.put_line(sqlcode||sqlerrm(sqlcode)); End; |
| IF product_not_found THEN RAISE_APPLICATION_ERROR(-20123,'Invald product code' TRUE); END IF; |
| Alter {system|session|procedure} set plsql_warnings= ’{enable|disable:{all |performance|severe|informational}}’; |
| create or replace procedure my_test is begin if 1=0 then dbms_output.put_line('test'); endif; end; SQL> alter procedure my_test compile plsql_warnings = 'enable:all'; Procedure altered SQL> show errors; Errors for PROCEDURE SYS.MY_TEST: LINE/COL ERROR -------- ------------------------- 10/5 PLW-06002: 无法执行的代码 |
| EXCEPTION WHEN inventory_too_low THEN ...... WHEN discontinued_item THEN ...... WHEN zero_divide THEN ...... WHEN OTHERS THEN ...... |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24850250/viewspace-688651/ ,如需转载,请注明出处,否则将追究法律责任。