Zde je uveden příklad pro vyvolání chyby aplikace (raise_application_error) v uložené proceduře PL/SQL, pokud určitá podmínka neodpovídá. Program vyvolá výjimku, pokud je provize (comm) v tabulce EMP pro dané číslo zaměstnance (empno) nulová.
Raise_Application_Error v příkladu PL/SQL
VYTVOŘTE NEBO NAHRAĎTE POSTUP compute_sal (i_EMPNO V emp.empno%TYPE)ISCURSOR c_emp (p_empno emp.empno%TYPE)JE SELECT sal, commFROM empWHERE empno =p_empno;v_ETCHiOP_NUMBER_BEGINempnoBEGINempno;v v_sal, v_comm;CLOSE c_emp;IF v_comm JE NULLTHENraise_application_error (-20001, 'Provize je nulová.');END IF;DBMS_OUTPUT.put_line ('Celkový plat je:' || (v_sal + v_comm));END compute_s /před>Provést
SET SERVEROUTPUT ON;BEGINCOMPUTE_SAL(7369);END;/Výstup
SQL> SET SERVEROUTPUT ON;SQL> BEGIN2 COMPUTE_SAL(7369);3 END;4 /BEGIN*ERROR na řádku 1:ORA-20001:Provize je null.ORA-06512:na "SCOTT.COMPUTE_SAL", řádek 16ORA -06512:na řádku 2Viz také:
- Najděte číslo řádku chyby v PL/SQL
- Příklad spouštění při chybě v Oracle Forms
- Chyba Průvodce instalací databáze Oracle 12c