使用者定義的例外
顧名思義,使用者建立了使用者定義的異常。如果你想建立自己的例外,你必須:
- 宣告異常
- 從你的程式中提升它
- 建立合適的異常處理程式來捕獲他。
例
我想更新所有工人的工資。但如果沒有工人,就提出異常。
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 訊息。