Oracle触发器抛出自定义异常
来源:互联网 发布:php oa系统源码 编辑:程序博客网 时间:2024/06/06 08:54
现有学生表
student(sno int,sname varchar2(20))
成绩表
score(sno int,cno varchar2(10),degree number)
给student编写一个触发器,当删除一个学生信息时将触发该触发器,判断该学生是否已经选课,如果该学生已经选课。将激发一个异常,把无法删除的信息返回给用户。
create or replace trigger tri_delete_student before delete on studentfor each rowdeclare num int;myexp exception;beginselect count(*) into num from score where sno=:old.sno;if num>0 then raise myexp;end if;exceptionwhen myexp then raise_application_error('-20002', '该学生已选课,无法删除');end;
下面时运行结果
在Oracle中,遇到的系统异常都有对应的异常码,在应用系统开发中,用户自定义的异常也可以指定一个异常码和异常信息,Oracle系统为用户预留了自定义异常码,其范围介于-20000到-20999之间的负整数。引发应用程序异常的语法是:
RAISE_APPLICATION_ERROR(异常码,异常信息)
1 0
- Oracle触发器抛出自定义异常
- 触发器|存储过程 抛出异常——>oracle
- Oracle异常 创建并抛出命名的自定义异常
- 手动抛出自定义异常!
- throws自定义抛出异常
- java 抛出自定义异常
- Dubbo抛出自定义异常
- iOS 【自定义 抛出异常】
- 自定义抛出异常
- js抛出自定义异常
- Dubbo抛出自定义异常
- 自定义抛出异常
- Java 自定义异常 异常抛出
- oracle sql 抛出异常
- 如何Mysql触发器中抛出一个异常
- MySql触发器,以及如何手动抛出异常
- mysql 触发器 trigger 中断操作 抛出异常
- MYSQL抛出异常+禁止删除触发器
- 顺序栈的应用
- UVA 548 Tree 中序+后序构造二叉树dfs
- ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法
- 在 JavaScript 中 prototype 和 __proto__ 有什么区别
- 如何用 MAC Address 找到 IP
- Oracle触发器抛出自定义异常
- vsftp上传文件出现553 Could not create file解决方法
- 第四届河南省ACM 序号互换 进制转换
- Android http请求
- 安卓开发:webapp 打电话,发短信时的代码设置
- 二叉树遍历(非递归)
- CCF CSP试题 201609-2 火车购票
- Servlet进阶API---过滤器Filter
- [BZOJ 1030][JSOI2007]文本生成器(AC自动机+DP)