10.4OraclePL_SQL异常

来源:互联网 发布:access数据库能仓库 编辑:程序博客网 时间:2024/04/30 11:04
什么是异常
在运行程序时出现的错误叫做异常。发生异常后,语句将停止,PL/SQL引擎将立即控制权转到PL/SQL块的异常处理部分。

预定义异常
异    常
说    明
ACCESS_INTO_NULL
在未初始化对象时出现
CASE_NOT_FOUND
CASE语句中的选项域用户输入的数据不匹配时出现
COLLECTION_IS_NULL
给尚未初始化的表或数组赋值时出现
CURSOR_ALREADY_OPEN
在用户试图重新打开以打开的游标时候出现。
DUP_VAL_ON_INDEX
将重复的值存储到唯一索引中
INVALID_CURSOR
执行一个非法游标运算
INVALID_NUMBER
在将字符串转换为数字时出现
LOGIN_DENIED
在输入的用户和密码无效时出现
NO_DATA_FOUND
在表中不存在请求的行时出现。
STORAGE_ERROR
在内存损坏或PL/SQL耗尽内存时出现
TOO_MANY_ROWS
在执行SELECT INTO语句后返回多行时出现
VALUE_ERROR
产生大小限制错误。
ZERO_DIVIDE
已零作为除数时出现

语法:
BEGIN  EXCEPTION    WHEN <EXCEPTION_NAME> THEN    WHEN OTHERS THENEND;
注:
1.OTHERS处理程序确保不会漏过任何异常。一个PL/SQL块只能有一个OTHERS异常。
2.可以使用函数SQLCODE和SQLERRM来返回错误代码和错误文本信息。

自定义异常
注:
1.在PL/SQL块的声明部分定义异常
2.在执行部分抛出异常,这样程序就可以跳到异常处理块
语法:
DECLARE
  ERROR_S EXCEPTION; //使用 EXCEPTION 声明自定义异常
BEGIN
 RAISE ERROR_S; //使用RAISE抛出自定义异常
EXCEPTION
    异常代码块
END;


0 0
原创粉丝点击