在写程序时难免会遇到程序出现错误,也就是程序出现了异常,而在pl/sq编程中异常有一种另外的名称叫做例外。它是负责处理sql异常的,当出现了例外,从而采取一些补救程序的措施。
在pl/sql中有系统异常,有自定义的异常。
一,异常的声明
declare
begin
exception
when 异常1 then
执行操作
when 异常2 then
执行操作
when others then
处理其它异常
end;
例如:
declare
val number;
begin
val := 10 / 0;
exception
when zero_divide then
dbms_output.put_line('发生了除零异常');
when others then
dbms_output.put_line('发生了其他异常');
end;
如果不知道错误类型,则可以通过使用预定义函数SQLCODE()和SQLERRM()来获得系统错误号和错误信息。
二,自定义异常:
--查询工号为8888的员工,如果没有就输出不存在。
declare
cursor vrows is
select * from emp where empno = 8888;
vrow emp%rowtype;
no_emp exception;//声明自定义异常
begin
open vrows;
fetch vrows
into vrow;
if vrows%notfound then
raise no_emp;//抛出自定义异常
end if;
close vrows;
exception
when no_emp then//处理自定义异常
dbms_output.put_line('没有该员工并抛出了一个自定义异常');
end;
以上就是异常的基础知识和基本用法。