ITPub博客

首页 > Linux操作系统 > Linux操作系统 > pl/sql开发知识之异常处理

pl/sql开发知识之异常处理

原创 Linux操作系统 作者:wangchenfeng 时间:2009-01-01 20:05:14 0 删除 编辑
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执行不恰当的操作,比如关闭一个未打开的游标。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/117819/viewspace-524920/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: db2查看执行计划
请登录后发表评论 登录
全部评论

注册时间:2008-12-21

  • 博文量
    6
  • 访问量
    47966