PL/SQL 使用者自定義異常操作例項
阿新 • • 發佈:2018-12-26
使用者自定義異常
PL/SQL允許根據程式的需要定義自己的異常。使用者定義的異常必須宣告,然後明確地提出使用一個RAISE語句或程式DBMS_STANDARD.RAISE_APPLICATION_ERROR。
宣告一個異常的語法是:
DECLARE
my-exception EXCEPTION;
操作例項原始碼:
-- Created on 2018/4/2 by E.WANG /* PL/SQL允許根據程式的需要定義自己的異常。 使用者定義的異常必須宣告, 然後明確地提出使用一個RAISE語句或程式DBMS_STANDARD.RAISE_APPLICATION_ERROR。 */ DECLARE /* 建立與屬性對應型別的變數; 通過%獲取表屬性型別 */ e_empno emp.empno%type; e_ename emp.ename%type; e_job emp.job%type; --定義一個無效的員工編號異常 invalid_empno_expection exception; BEGIN --e_empno值為-10 e_empno:=-10; --給變數賦值 if e_empno<0 then raise invalid_empno_expection; else SELECT ename,job INTO e_ename,e_job FROM emp WHERE empno=e_empno; end if; --輸出對應變數的值 dbms_output.put_line('employee No:' || e_empno || 'employee Name: '|| e_ename || 'employee Position: ' || e_job); exception when invalid_empno_expection then dbms_output.put_line('Emno must be greater than zero!'); when no_data_found then dbms_output.put_line('No such customer!'); when others then dbms_output.put_line('Error!'); END;