PL/SQL中的异常处理
来源:互联网 发布:商业数据分析师的能力 编辑:程序博客网 时间:2024/05/29 18:12
在设计PL/SQL程序时,经常会发生这样或那样的错误,异常处理就是针对错误进行处理的程序段,
Oracle 9i中的异常处理分为系统预定义异常处理和自定义异常处理两部分。
系统预定义异常处理
系统预定义异常处理是针对PL/SQL程序编译、执行过程中发生的问题进行处理的程序。下列代码为正确代码,在【SQLPlus Worksheet】中能够顺利执行
set serveroutput on
declare
tempno integer :=90;
begin
tempno:=tempno+1;
end;
set serveroutput on
declare
tempno integer :=100;
begin
tempno=tempno+1;//正确代码为:tempno:=tempno+1
end;
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代码
set serveroutput on
declare
salaryerror exception
tempsal scott.emp.sal%type;
begin
select sal into tempsal from scott.emp
where empno = 7566;
if tempsal<900 or tempsal>2600 then
raise salaryerror;
end if;
exception
when salaryerror then
dbms_output.putline("薪水超出范围");
end;
结果显示:
薪水超出范围
PL/SQL 过程已成功完成!
- pl/sql中的异常处理
- PL/SQL中的异常处理
- PL/SQL中的异常处理
- PL/SQL 异常处理
- PL/SQL异常处理
- PL/SQL异常处理
- PL/SQL异常处理
- PL/SQL 异常处理
- pl/sql异常处理
- PL/SQL 异常处理
- PL/SQL异常处理
- PL SQL异常处理
- PL/SQL 异常处理
- pl/sql异常处理
- PL/SQL异常处理
- PL/SQL异常处理
- PL/SQL异常处理
- PL/SQL--异常处理
- fjnu 1836 Humble Numbers
- 2008-2-28大盘分析
- flash与C++互通方式
- Oracle Lesson 4 数据库对象
- 关于框架的选择(ZT)
- PL/SQL中的异常处理
- 2。28
- 对Photoshop第三方滤镜插件开发的简介
- FlashFXP.v3.6.0.1240.Final-YAG
- 委托与事件的入门说明
- FTPRush.v1.1.219.Unicode-YAG
- oracle9i的冷备份想出的数据库迁移方案
- php问候语
- 使用Eclipse开发J2EE应用,集成Eclipse, Lomboz和JBoss