PLSQL之例外(异常)
和java异常一样,处理机制为向上处理机制
语法和java差不多,只是没有finally
1、例外分类
(1)系统定义异常
(2)自定义例外
2、常见系统定义异常
not data_found(没有找到数据)
too_many_rows(select...into语句匹配多个行)
zero_divide(被零除)
value_error(算术或转换错误)
timeout_on_resource(在等待资源时发生超时):发生的典型场景就是分布式数据库
例子:被0除
declarepnum number;
begin pnum:=1/0;exceptionwhen zero_divide then dbms_output.put_line('0不能做除数');when value_error then dbms_output.put_line('算术或转换例外');when others then dbms_output.put_line('产生了其他例外');
end;
3、自定义例外
java通过继承来自定义例外,这里oracle把例外当做变量来处理,如下:
declare
No_data exception;
java通过throw来抛异常,oracle通过关键字raise来抛异常
例子:查询50号部门员工(不存在50号部门,抛异常)
declarecursor c1 is select ename from emp where deptno=50;pename emp.ename%type;no_emp_deptno exception;
begin open c1;loopfetch c1 into pename;if c1%notfound then raise no_emp_deptno;end if;end loop;close c1; exceptionwhen no_emp_deptno then dbms_output.put_line('没有该部门');when others then dbms_output.put_line('跑出其他异常');
end;
4、PMON进程(process monitor进程监视器)
抛出异常后依旧会关闭光标
在用户进程失败时执行进程恢复
- 清除数据库缓冲区高速缓存
- 释放该用户进程使用的资源:如关闭光标
PLSQL之例外(异常)相关推荐
- Oracle之例外(异常)
/* 例外 其实就是异常 处理发生的异常 java try{}catch(OutofBoundIndexException){}catch(Exceptio ...
- plsql例外_大例外背后的真相
plsql例外 异常可能是最被滥用的Java语言功能. 这就是为什么 让我们打破一些神话. 没有牙仙子. 圣诞老人不是真实的. TODO评论. finalfinalversion-final.pdf. ...
- 忽略异常_忽略已检查的异常,所有出色的开发人员都在这样做–基于600,000个Java项目...
忽略异常 Github和Sourceforge上超过600,000个Java项目中的异常处理概述 Java是使用检查异常的少数几种语言之一. 它们在编译时强制执行,并且需要某种处理. 但是--在实践中 ...
- 忽略已检查的异常,所有出色的开发人员都在这样做–基于600,000个Java项目
Github和Sourceforge上超过600,000个Java项目中的异常处理概述 Java是使用检查异常的少数语言之一. 它们在编译时强制执行,并且需要某种处理. 但是--实践中会发生什么? 大 ...
- PLSQL Developer几个可能的隐患
PL/SQL Developer是一个集成开发环境,由Allround Automations公司开发,专门面向Oracle数据库.作为一款第三方工具,早就被广大Oracle开发和运维人员所熟知.相比 ...
- plsql连接Oracle报错:Initialization error
plsql连接Oracle报错:Initialization error,解决方案 背景: 今天服务器操作系统升级(由Windows server 2008 R2 64bits升级到Windows s ...
- oracle数据库中基础知识,oracle数据库基础知识
oracle数据库基础知识 -- End loop --1 declare pnum number(4):=0; begin while pnum < 10 loop dbms_output.p ...
- Oracle简单操作总结
---- 用到 scott hr---------------- ---------解锁scott 用户 alter user scott account unlock; ---------重置用户 ...
- JDBC心得体会--总结
JDBC部分 终端进入mysql: mysql -u root回车 终端进入oracle: telnet 192.168.0.23 然后sqlplus openlab/open123 MySQL常用 ...
最新文章
- mysql-主从服务器同步搭建
- VUE 路径拦截, 开放页面, 基于动态路由, 拦截器
- 安装swig后,python3版本切换到了2
- flash动画设计期末作业_「2019年下学期」第二十五二十六节:期末作品三-吉祥物设计...
- PHP案例:连接数据库实现登录功能
- NBear的优缺点粗略分析(3.7版本)-- NB之一
- 找回微信人工服务器,微信找回密码人工服务
- Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming
- ERROR 1366 (HY000): Incorrect string value: '\xCA\xD6\xBB\xFA\xCA\xFD...' for column 'cname' at row
- android sim 卡7816,采用SO7816标准规范的SIM卡读卡器的研究
- SMBIOS信息概述 -- DMI
- 接口测试工具(下篇)——命令行工具curl
- quick-cocos 集成ShareSDK
- 1063 计算谱半径
- nbtscan扫描指定网段的主机
- java如何模拟抢单_基于jsp的抢单兼职-JavaEE实现抢单兼职 - java项目源码
- python如何计算隐含波动率
- 汽车有眼睛和有眼睛的汽车
- 将Pdf文件转换为Word
- 数的三次方(C++算法——二分)