网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 数据库技术 > Oracle > 性能调优 > PL/SQL异常处理初步-性能调优  

PL/SQL异常处理初步-性能调优

2008-06-17  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  PL/SQL处理异常不同于其他程序语言的错误管理方法,PL/SQL的异常处理机制与ADA很相似,有一个处理错误的全包含方法 中国网管论坛bbs.bitsCN.com

  PL/SQL处理异常不同于其他程序语言的错误管理方法,PL/SQL的异常处理机制与ADA很相似,有一个处理错误的全包含方法。当发生错误时,程序无条件转到异常处理部分,这就要求代码要非常干净并把错误处理部分和程序的其它部分分开。oracle允许声明其他异常条件类型以扩展错误/异常处理。这种扩展使PL/SQL的异常处理非常灵活。

网管u家u.bitscn@com

  当一个运行时错误发生时,称为一个异常被抛出。PL/SQL程序编译时的错误不是能被处理得异常,只有在运行时的异常能被处理。在PL/SQL程序设计中异常的抛出和处理是非常重要的内容。

网管bitscn_com

  抛出异常

网管bitscn_com

  由三种方式抛出异常

网管联盟bitsCN@com

   . 通过PL/SQL运行时引擎

网管下载dl.bitscn.com

   . 使用RAISE语句

网管bitscn_com

   . 调用RAISE_APPLICATION_ERROR存储过程 网管论坛bbs_bitsCN_com

  当数据库或PL/SQL在运行时发生错误时,一个异常被PL/SQL运行时引擎自动抛出。异常也可以通过RAISE语句抛出

   RAISE exception_name;
网管网www_bitscn_com

  显式抛出异常是程序员处理声明的异常的习惯用法,但RAISE不限于声明了的异常,它可以抛出任何任何异常。例如,你希望用TIMEOUT_ON_RESOURCE错误检测新的运行时异常处理器,你只需简单的在程序中使用下面的语句:

   RAISE TIMEOUT_ON_RESOUCE;
网管网www_bitscn_com

  下面看一个订单输入系统,当库存小于订单时抛出一个inventory_too_low异常。

 DECLARE
inventory_too_low EXCEPTION;
---其他声明语句
BEGIN
.
.
IF order_rec.qty>inventory_rec.qty THEN
RAISE inventory_too_low;
END IF
.
.
EXCEPTION
WHEN inventory_too_low THEN
order_rec.staus:=''backordered'';
replenish_inventory(inventory_nbr=>
inventory_rec.sku,min_amount=>order_rec.qty-inventory_rec.qty);
END;
网管u家u.bitsCN.com

  这里replenish_inventory是一个触发器。
 
  处理异常

中国网管论坛bbs.bitsCN.com

  PL/SQL程序块的异常部分包含了程序处理错误的代码,当异常被抛出时,一个异常陷阱就自动发生,程序控制离开执行部分转入异常部分,一旦程序进入异常部分就不能再回到同一块的执行部分。下面是异常部分的一般语法:

 EXCEPTION
 WHEN exception_name THEN
  Code for handing exception_name
 [WHEN another_exception THEN
  Code for handing another_exception]
 [WHEN others THEN
  code for handing any other exception.]
网管下载dl.bitscn.com

网管论坛bbs_bitsCN_com


TAGs   性能   初步   处理   异常   部分   错误   程序   PL/SQL   一个   RAISE      
 上一篇:MySQL数据库优化(九)-性能调优   下一篇:Oracle的备份方式具有不同的恢复特性-性能调优
PL/SQL异常处理初步-性能调优 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: