设为首页 收藏本站
查看: 330|回复: 0

[经验分享] Oracle PL/SQL 异常处理

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-7-7 17:24:23 | 显示全部楼层 |阅读模式
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;


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-21731-1-1.html 上篇帖子: Oracle RAC中的一台机器重启以后无法接入集群 下篇帖子: ORA-12541:TNS:无监听程序 配置Oracle Myeclipse无法连接上 花费一... Oracle
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表