Oracle中异常处理
来源:互联网 发布:免费苹果恢复软件 编辑:程序博客网 时间:2024/06/05 19:45
错误处理
能够检测并且进行错误处理的叫做异常,一般分为用户自定义异常,系统预定义异常。
预定义异常
一:除数是0的系统异常
declare
v_number Number(2):=10;
v_zero Number(2):=0;
v_result Number(5);
begin
--v_number/v_zero,会产生系统异常
v_result:=v_number/v_zero;
end;
二:处理上面的异常
declare
v_number Number(2):=10;
v_zero Number(2):=0;
v_result Number(5);
begin
--v_number/v_zero,会产生系统异常
v_result:=v_number/v_zero;
Exception
when ZERO_DIVIDE THEN
DBMS_OUTPUT.put_line('除数不能为0');
end;
三:多异常处理
declare
v_result country.country_name%type;
begin
select country_name into v_result
from country where country_name='BeiJing';
DBMS_OUTPUT.put_line('the country name is '||v_result);
exception
when TOO_MANY_ROWS then
DBMS_OUTPUT.put_line('There is TOO_MANY_ROWS error');
when NO_DATA_FOUND then
DBMS_OUTPUT.put_line('There is NO_DATA_FOUND error')
END;
常见的系统预定义异常
1
DUP_VAL_INDEX
违反了唯一性
2
LOGIN_DENIED
用户名或密码错误
3
NO_DATA_FOUND
没有发现数据
4
TOO_MANY_ROWS
数据行太多
5
VALUE_ERROR
算法或转换错误
自定义异常
调用自定义异常处理需要使用raise关键字处理
一:自定义异常过程
declare
v_overNmber EXCEPTION; --定义异常处理变量
v_salesNumber Number(9);--当前的订单数
v_maxNumber Number(9):=500;--定义允许的最大值
begin
--从表中取出数量
select count(*) into v_salesNumber from sales;
--比较当前单数和最大的单数的,如果超过最大单数,就进行异常处理
if v_maxNumber<v_salesNumber then
--进行异常处理
raise e_overNumber;
end if;
exception
when e_overNumber then
DBMS_OUTPUT.put_line('查到的单数超过最大数,数据异常');
end;
- Oracle中异常处理
- oracle 中 的异常处理
- oracle 中 的异常处理
- Oracle中自定义异常处理
- oracle中简单处理异常
- oracle 中 的异常处理(转载)
- Oracle存储过程中异常处理总结
- oracle数据异常处理
- oracle的异常处理
- Oracle异常处理
- Oracle异常处理
- Oracle的异常处理
- oracle异常处理 例解
- ORACLE中的异常处理
- oracle 异常处理(转载)
- ORACLE异常处理总结
- ORACLE中的异常处理
- Oracle异常处理总结
- mybatis自动生成mapper中的insert与insertseletive,updateByPrimaryKey,updateByPrimaryKeySelective方法的区别
- Get和Post的区别
- Docker集群网络部署
- java常见异常类图(分类了Error/RuntimeExecption、check Exception)
- 反向代理
- Oracle中异常处理
- 浅谈Spring事务隔离级别
- 左手定则
- 微信公众号开发教程[002]-配置
- 2016.07.11回顾
- 华为OJ 初级:字符统计
- MYSQL分页limit速度太慢优化方法
- Android项目依赖多个项目,它们的jar包冲突的解决办法
- 微信公众号开发教程[003]-消息管理-接收消息