Oracle PL/SQL异常处理方法解析

 更新时间:2020年11月20日 14:47:18   作者:贾树丙  
这篇文章主要介绍了Oracle PL/SQL异常处理方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Oracle数据库中的异常:没有异常的转移,因为没有受检异常和非受检异常得区分。

1.异常的产生:

2.异常的处理:

declare

  --变量定义,初始化赋值。

begin

  --变量的赋值,函数调用,if,while等。

exception

  --异常处理代码

  when others then 异常处理语句。

end;

3.异常的抛出:raise

4.多异常处理:Java的多异常是通过数据类型区分,Oracle数据库的多异常是通过异常编号区分。
区别不同的异常是实现多异常处理前提。

declare

  verror exception;--定义异常变量

  PRAGMA EXCEPTION_INIT(verror ,-111111);--设定异常变量的编号

begin

  --变量的赋值,函数调用,if,while等。

exception

  •   when verror then 异常处理语句。--所抛出的异常变量的编号是否和设定好的异常变量的编号一致。
  •   when others then 异常处理语句。--当所抛出的异常编号在exception语句块中不存在时,执行该语句(写在最后)。

end;

5.自定义异常:Java中通过定义一个新的异常类实现的。Oracle中通过异常编号实现的。

eclare
  n number(1);
  v_error exception;
begin
  dbms_output.put_line('抛出单个异常练习--n只有1位不能保存数字10');
  n:=10;
  if n<=0 then
    raise v_error;
  end if;
  dbms_output.put_line(n);
exception
  when others then dbms_output.put_line('数值溢出');
end;

declare
  n number(1);
  v_error exception;
  PRAGMA EXCEPTION_INIT(v_error,-112122);
begin
  dbms_output.put_line('抛出多个异常练习');
  n:=-1;
  if n<=0 then
    raise v_error;
  end if;
  dbms_output.put_line(n);
exception
  when v_error then dbms_output.put_line('不能为负');
  when others then dbms_output.put_line('数值溢出');
end;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • ORACLE常用数值函数、转换函数、字符串函数

    ORACLE常用数值函数、转换函数、字符串函数

    本文并不准备介绍全部的oracle函数,当前情势下,俺也还没这个时间,需要学习的东西太多了,要把多数时间花在学习经常能用上的技术方面:),所以如果是准备深入了解所有oracle函数的朋友,还是去关注:Oracle SQL Reference官方文档更靠谱一些。
    2009-11-11
  • Oracle中PL/SQL复合数据类型

    Oracle中PL/SQL复合数据类型

    这篇文章介绍了Oracle中PL/SQL的复合数据类型,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • oracle删除超过N天数据脚本的方法

    oracle删除超过N天数据脚本的方法

    这篇文章主要介绍了oracle删除超过N天数据脚本的方法,本文通过sql语句给大家详细说明讲解,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • oracle 存储过程和触发器复制数据

    oracle 存储过程和触发器复制数据

    oracle 存储过程和触发器复制数据的代码,需要的朋友可以参考下。
    2009-11-11
  • Oracle 簇的使用详解

    Oracle 簇的使用详解

    本篇文章是对Oracle中簇的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Oracle的SQLLDR用法简介

    Oracle的SQLLDR用法简介

    这篇文章主要介绍了Oracle的SQLLDR用法简介,SQL*Loader是oracle的高速批量数据加载工具,这是一个非常有用的工具,可用于从多种平面文件格式向Oracle数据库中加载数据,SQLLDR可以在极短的时间内加载数量庞大的数据,需要的朋友可以参考下
    2023-07-07
  • Oracle自动备份脚本

    Oracle自动备份脚本

    这篇文章主要介绍了Oracle自动备份脚本的相关资料,需要的朋友可以参考下
    2016-02-02
  • 安装Oracle完整客户端后没有访问接口OraOLEDB.Oracle解决办法

    安装Oracle完整客户端后没有访问接口OraOLEDB.Oracle解决办法

    这篇文章主要给大家介绍了关于安装Oracle完整客户端后没有访问接口OraOLEDB.Oracle的解决办法,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考解决价值,需要的朋友可以参考下
    2024-01-01
  • Oracle Form中COMMIT的概述及使用技巧

    Oracle Form中COMMIT的概述及使用技巧

    针对form上面的数据变动提交到后台数据库,同时数据库提交数据,接下来将详细介绍下Form中COMMIT的使用,感兴趣的你可以参考下本文
    2013-03-03
  • oracle普通表转化为分区表的方法

    oracle普通表转化为分区表的方法

    这篇文章主要介绍了oracle普通表转化为分区表的方法,官方给出了四种操作方法,本文主要对第四种方法进行详细分析,需要的朋友可以参考下。
    2017-10-10

最新评论