1.异常有两种类型:编译时的和运行时的。
2.oracle异常管理中内置的2个:SQLCODE,SQLERRM
注意,还可以在EXCEPTION_INIT PRAGMA中定义。
比如:
在子程序
中使用EXCEPTION_INIT的语法如下:
PRAGMA EXCEPTION_INIT(exception_name, -Oracle_error_number);
在该语法中,异常名是声明的异常,下例是其用法:
DECLARE
deadlock_detected EXCEPTION;
PRAGMA EXCEPTION_INIT(deadlock_detected, -60);
BEGIN
... -- Some operation that causes an ORA-00060 error
EXCEPTION
WHEN deadlock_detected THEN
-- handle the error
END;
3.常见的异常:
ACCESS_INTO_NULL:访问的对象尚未初始化。
CASE_NOT_FOUND:在case里没有else,结果所有的case都不满足。
COLLECTION_IS_NULL:尝试去访问一个未初始化的嵌套表或者varray时。
CURSOR_ALREADY_OPEN:尝试去打开一个已经打开的cursor。
DUP_VAL_ON_INDEX:插入值引发唯一索引出错。
INVALID_CURSOR:对cursor执行不恰当的操作,比如关闭一个未打开的游标。
2.oracle异常管理中内置的2个:SQLCODE,SQLERRM
注意,还可以在EXCEPTION_INIT PRAGMA中定义。
比如:
在子程序
中使用EXCEPTION_INIT的语法如下:PRAGMA EXCEPTION_INIT(exception_name, -Oracle_error_number);
在该语法中,异常名是声明的异常,下例是其用法:
DECLARE
deadlock_detected EXCEPTION;
PRAGMA EXCEPTION_INIT(deadlock_detected, -60);
BEGIN
... -- Some operation that causes an ORA-00060 error
EXCEPTION
WHEN deadlock_detected THEN
-- handle the error
END;
3.常见的异常:
ACCESS_INTO_NULL:访问的对象尚未初始化。
CASE_NOT_FOUND:在case里没有else,结果所有的case都不满足。
COLLECTION_IS_NULL:尝试去访问一个未初始化的嵌套表或者varray时。
CURSOR_ALREADY_OPEN:尝试去打开一个已经打开的cursor。
DUP_VAL_ON_INDEX:插入值引发唯一索引出错。
INVALID_CURSOR:对cursor执行不恰当的操作,比如关闭一个未打开的游标。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/117819/viewspace-524920/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/117819/viewspace-524920/
本文介绍了Oracle数据库中的异常处理机制,包括两种类型的异常:编译时异常和运行时异常。此外,还详细解释了内置异常SQLCODE和SQLERRM的使用,并提供了一个如何使用EXCEPTION_INITPRAGMA定义自定义异常的例子。

5216

被折叠的 条评论
为什么被折叠?



