oracle中存储过程的三种异常捕获方式
来源:互联网 发布:淘宝有情侣网店吗 编辑:程序博客网 时间:2024/06/06 03:45
oracle中存储过程的异常分为: 1.预定义异常:oracle已经定义了一个常量用于表示异常编号 异常 错误编号 常量名称 除数为0 -01476 ZERO_DIVIDE 案例: create or replace procedure test_ as c int; begin c:=10/0; exception when zero_divide then dbms_output.put_line('除数不能为0哦'); end; 2.非预定义异常:错误编号没有对应的常量 create or replace procedure test_ as c int; my_error exception; pragma exception_init(my_error,-01476); begin c:=10/0; exception when my_error then dbms_output.put_line('除数不能为0哦'); when others then dbms_output.put_line('未知错误'); end; 3.自定义异常 create or replace procedure move_moeny( u1 int, u2 int, money_ dec ) is b dec(19,2); --读取u1余额 my_error exception; --定义自定义异常 begin --判断转账的金额是否大于余额 select a.balance into b from account_ a where a.aid=u1; if b<money_ then raise my_error; end if; --如果余额大于转账金额,u1的余额要减少 update account_ set balance = balance-money_ where aid=u1; --u2的余额要增加 update account_ set balance =balance+money_ where aid=u2; --转账成功之后,要添加两条交易记录 insert into transfer values(x.nextval,sysdate,u1,'取出',money_); insert into transfer values(x.nextval,sysdate,u2,'存入',money_); exception when my_error then dbms_output.put_line('余额不足'); rollback; end;
阅读全文
0 0
- oracle中存储过程的三种异常捕获方式
- oracle存储过程异常捕获
- oracle存储过程异常捕获
- oracle 存储过程 如何获得 捕获异常的内容
- ORACLE 存储过程异常捕获并抛出
- MySQL存储过程中捕获异常的方法
- MySQL存储过程中捕获异常的方法
- SQL SERVERC存储过程中捕获异常
- 存储过程中异常捕获处理
- java调用oracle存储过程的三种方式
- mysql 存储过程异常捕获
- SQL2005存储过程中使用try catch捕获异常
- MSSQL:SQL SERVERC存储过程中捕获异常
- SQL SERVER中 存储过程使用事务与捕获异常
- oracle中存储过程procedure的异常处理
- oracle中存储过程、函数的诡异异常(错误)
- oracle存储过程中异常处理应注意的问题
- SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存储过程中调用, 在VS中调用的方法)
- 27 个Jupyter Notebook的小提示与技巧
- Java基础总结
- 生产计划管理软件功能是什么?对生产管理有何好处?
- 算法9 Group Anagrams
- 三行代码实现 TabLayout+ViewPager 的 Tab 滑动效果,从封装到开源
- oracle中存储过程的三种异常捕获方式
- JDK7中Runnable和Callable源码概述
- RecyclerView与ScrollView嵌套,抢占焦点的问题
- Linux下VSFTPD配置全方案
- class path resource [spring-mvc.xml] cannot be opened because it does not exist
- redis与spring cache集成
- Android抽象任务管理框架QTaskManager及其使用方式介绍
- 既然有http 请求,为什么还要用rpc(dubbo接口)调用?
- 整理关于java实现二维码的生成和解析代码供大家参考