用户定义的例外
顾名思义,用户创建了用户定义的异常。如果你想创建自己的例外,你必须:
- 声明异常
- 从你的程序中提升它
- 创建合适的异常处理程序来捕获他。
例
我想更新所有工人的工资。但如果没有工人,就提出异常。
create or replace procedure update_salary
is
no_workers exception;
v_counter number := 0;
begin
select count(*) into v_counter from emp;
if v_counter = 0 then
raise no_workers;
else
update emp set salary = 3000;
end if;
exception
when no_workers then
raise_application_error(-20991,'We don''t have workers!');
end;
/
raise
是什么意思?
当有需要时,数据库服务器会自动引发异常,但如果需要,可以使用 raise
明确引发任何异常。
程序 raise_application_error(error_number,error_message);
- error_number 必须介于 -20000 和 -20999 之间
- 发生错误时显示的 error_message 消息。