科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道数据库PL/SQL异常处理(组图)

数据库PL/SQL异常处理(组图)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  在设计PL/SQL程序时,经常会发生这样或那样的错误,异常处理就是针对错误进行处理的程序段,Oracle 9i中的异常处理分为系统预定义异常处理和自定义异常处理两部分。

作者:中国IT实验室 来源:中国IT实验室 2007年10月1日

关键字: SQL 数据库 SQL Server

  • 评论
  • 分享微博
  • 分享邮件

  在设计PL/SQL程序时,经常会发生这样或那样的错误,异常处理就是针对错误进行处理的程序段,Oracle 9i中的异常处理分为系统预定义异常处理和自定义异常处理两部分。
  
  系统预定义异常处理
  
  系统预定义异常处理是针对PL/SQL程序编译、执行过程中发生的问题进行处理的程序。 下列代码为正确代码,在【SQLPlus Worksheet】中能够顺利执行。
  
  ?????????????????????????????????????
  
  set serveroutput on
  
  declare
  
  tempno integer:=90;
  
  begin
  
  tempno:=tempno+1;
  
  end;
  
  ?????????????????????????????????????
  
  【配套程序位置】:第9章\ correctplsql.sql。
  
  下列代码为错误代码,在【SQLPlus Worksheet】中的执行结果如图9.56所示。
  
 

  【配套程序位置】:第9章\ wrongplsql.sql。
  
  由于代码有错误,因此将激活系统预定义的异常处理,并得出如下提示信息。
  
 

  Oracle 9i提供了很多异常处理,读者可以尝试修改可以正常运行的程序,并执行修改后的程序,就可以发现调用了哪些异常处理,下面着重介绍如何自定义异常处理。
  
  自定义异常处理
  
  1. 定义异常处理
  
  定义异常处理的语法如下:
  
  declare
  
  异常名 exception;
  
  2. 触发异常处理
  
  触发异常处理的语法如下:
  
  raise 异常名;
  
  3. 处理异常
  
  触发异常处理后,可以定义异常处理部分,语法如下:
  
  Exception
  
  When 异常名1 then
  
  异常处理语句段1;
  
  When 异常名2 then
  
  异常处理语句段2;
  
  4. 实例
  
  下面的PL/SQL程序包含了完整的异常处理定义、触发、处理的过程。定义名为salaryerror的异常,在scott.emp数据表中查找empno=7566的记录,将其值放入变量tempsal中,判断tempsal值若不在900和2600之间,说明该员工的薪水有问题,将激活异常处理,提示信息。
  
  在【SQLPlus Worksheet】中执行下列PL/SQL代码,执行结果如图9.57所示。
  
 

  【配套程序位置】:第9章\ exceptiondefine.sql。
  

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件