--什么是异常
--异常是在PL/SQL运行过程中有可能出现的错误。 --执行异常的语句
exception
when [异常] when
--异常输出信息。 --Oracle的预定义异常
CASE_NOT_FOUND ora-06592
--case语句中,when子句没有匹配的条件,而且没有else语句,会触发该异常。
NO_DATA_FOUND ORA-01403
--select..into语句没有返回记录,触发该异常
TOO_MANY_ROWS ORA-01422
--select..into语句返回记录多于一条,触发该异常
DUP_VAL_ON_INDEX ORA-00001
--表中唯一索引所对应的列上出现重复值时,引发该异常
VALUE_ERROR ORA-06502
--赋值时,如果变量长度不够,引发该异常
ZERO_DIVIDE ORA-01476
--除数为零时引发的异常
STORAGE_ERROR ORA-06500
--内容溢出或破坏引发该异常
TIMEOUT_ON_RESOURCE ORA-00051
--等待资源超时引发该异常
CURSOR_ALREADY_OPEN ORA-06511
--打开一个已经打开的游标引发该异常 --非预定义异常
1、声明一个异常的名称。
2、把这个异常名称和异常的编号相关联。
--实例
declare
v_t varchar2(5);
v_tt varchar2(3);
tt_8899_exp exception;--声明异常
pragma exception_init(tt_8899_exp,-8899);--exception_init(异常名称,异常代码) begin
v_t:=''; case v_t
when '' then
dbms_output.put_line('');
end case; exception
when CASE_NOT_FOUND then
dbms_output.put_line('字符串超标');
dbms_output.put_line(SQLERRM);--输出异常信息
dbms_output.put_line(SQLCODE);--输出异常的代码
rollback;
end; --自定义异常
declare
v_t number(10); tt_8899_exp exception;--声明异常
pragma exception_init(tt_8899_exp,-8899);--exception_init(异常名称,异常代码) begin
v_t:=-1;
if v_t<0 then
raise tt_8899_exp;--启动自定义异常tt_8899_exp
end if; exception
when CASE_NOT_FOUND then
dbms_output.put_line(SQLERRM);--输出异常信息
dbms_output.put_line(SQLCODE);--输出异常的代码
when tt_8899_exp then
dbms_output.put_line('字符串超标');
dbms_output.put_line(SQLERRM);--输出异常信息
dbms_output.put_line(SQLCODE);--输出异常的代码
rollback;
end;

Oracle的PL_SQL的异常处理的更多相关文章

  1. Oracle客户端PL_SQL的安装

    Oracle数据库的操作大多还是在客户端完成的,因此在众多的客户端软件中我选择了PL_SQL,一下谈谈PL_SQL的基本安装和操作,以及在操作中碰到的一些问题: 1. 首先下载PL_SQL客户端软件, ...

  2. Oracle 学习笔记 17 -- 异常处理(PL/SQL)

    程序异常是在操作期间正常,出现在节目的准备过程是不可避免的例外.但是,必须有一个相应的异常处理机 制,以保证程序的正常运行.PL/SQL程序运行过程中出现的错误.称为异常. 一个优秀的程序都应该可以正 ...

  3. oracle数据库中的异常处理

    create or replace procedure prc_get_sex (stuname student.name%type) as stusex student.sex%type; begi ...

  4. Oracle的PL_SQL的结构

    --PL/SQL的结构 declare --声明变量和常量关键字 v_name nvarchar2(); v_age integer;--常规变量声明 v_product table_name.col ...

  5. Oracle 异常处理汇总

    Oracle 异常处理汇总 1.plsql无法连接 安装oracle,中间录入密码,用户是:sys,pass: 录入的密码. 连接数据库,建议创建新的用户,最好别直接用sys 安装完毕,则需要配置Ne ...

  6. Oracle 游标示例,带异常处理

    Oracle游标示例一则,带异常处理. DECLARE CURSOR c_dl IS SELECT ID, NSRSBH, WSPZXH, ZXYY_DM, HZRQ, SWJG_DM, GXSJ F ...

  7. Oracle 存储过程异常处理

    Oracle 存储过程异常处理 1.异常的优点    如果没有异常,在程序中,应当检查每个命令的成功还是失败,如  BEGIN  SELECT ...  -- check for ’no data f ...

  8. Oracle 11g RAC环境下Private IP修改方法及异常处理

    Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...

  9. Oracle基础 PL-SQL编程基础(4) 异常处理

    异常处理: 即使良好的PL-SQL程序也会遇到错误或者未预料的事件,一个优秀的程序都应该能够处理各种出错情况,尽可能的从错误中恢复.程序在运行时出现的错误成为异常.发生异常后,语句讲终止执行,PLSQ ...

随机推荐

  1. JavaScript事件使用指南

    事件流 事件流描述的是从页面中接收事件的顺序,IE和Netscape提出来差不多完全相反的事件流的概念,IE事件流是事件冒泡流,Netscape事件流是事件捕获流. 事件冒泡 IE的事件流叫做事件冒泡 ...

  2. spring事务管理实现方式

    声明式事务 tx及aop配置,利于管理,耦合性低,可读性低 @Transactional注解,不利管理,耦合性高,可读性高 编程式事务 TransactionTemplate类,spring推荐方法 ...

  3. android常用权限

    访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...

  4. CentOS: Make Command not Found and linux xinetd 服务不能启动

    在centos 安装编译器 yum -y install gcc automake autoconf libtool make linux xinetd 服务不能启动: [root@capaa xin ...

  5. jfreechart折线图 demo

    public class ChartUtil { public static ChartUtil chartUtil; private RoomViewsDataService roomViewsDa ...

  6. PHP 使用 GeoLiteCity 库解析 IP 为地理位置

    关于把 IP 地址转换为地理位置可以使用网络上很多的 API,好处就是不用在本地存储一个 IP 数据库,而且一般网络上的 IP 库会自动更新,不利的地方就是太依赖于网络,性能表现也可能会弱些.比如像下 ...

  7. Android 你可能忽略的提高敲代码效率的方式 (转)

    每日推荐 Eyepetizer-in-Kotlin:一款简约的小视频app,带你走进kotlin 作为学习kotlin的一款app,在撸代码的过程中学习kotlin的语法及特性. Eyepetizer ...

  8. 【原创】Hibernate自动生成(1)

    本实战是博主初次学习Java,分析WCP源码时,学习HibernateTools部分的实战,由于初次接触,难免错误,仅供参考,希望批评指正. 开发环境: Eclipse Version: Photon ...

  9. GridView 显示行号 设置行号列的宽度

    /// <summary> /// GridView 显示行号 设置行号列的宽度 /// </summary> /// <param name="gv" ...

  10. 反应器模式 vs 观察者模式

    反应器模式(Reactor pattern)与观察者模式(Observer pattern) 反应器模式 是一种为处理服务请求并发提交到一个或者多个服务处理程序的事件设计模式.当请求抵达后,服务处理程 ...