Oracle
 sql >> Baza danych >  >> RDS >> Oracle

PL/SQL — przykład podniesienia błędu aplikacji

Podano tutaj przykład zgłaszania błędu aplikacji (raise_application_error) w procedurze składowanej PL/SQL, jeśli określony warunek nie jest zgodny. Program zgłosi wyjątek, jeśli prowizja (comm) jest zerowa w tabeli EMP dla danego numeru pracownika (empno).

Raise_Application_Error w przykładzie PL/SQL

CREATE OR REPLACE PROCEDURE compute_sal (i_EMPNO IN emp.empno%TYPE)
IS
CURSOR c_emp (p_empno emp.empno%TYPE)
IS
SELECT sal, comm
FROM emp
WHERE empno = p_empno;

v_sal NUMBER;
v_comm NUMBER;
BEGIN
OPEN c_emp (i_empno);

FETCH c_emp
INTO v_sal, v_comm;

CLOSE c_emp;

IF v_comm IS NULL
THEN
raise_application_error (-20001, 'Commission is null.');
END IF;

DBMS_OUTPUT.put_line ('Total salary is: ' || (v_sal + v_comm));
END compute_sal;
/

Wykonaj

SET SERVEROUTPUT ON;
BEGIN
COMPUTE_SAL(7369);
END;
/

Wyjście

SQL> SET SERVEROUTPUT ON;
SQL> BEGIN
2 COMPUTE_SAL(7369);
3 END;
4 /
BEGIN
*
ERROR at line 1:
ORA-20001: Commission is null.
ORA-06512: at "SCOTT.COMPUTE_SAL", line 16
ORA-06512: at line 2

Zobacz też:

  1. Znajdź numer wiersza błędu w PL/SQL
  2. Przykład wyzwalacza w przypadku błędu w Oracle Forms
  3. Instrukcja instalacji bazy danych Oracle 12c o błędzie
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. oracle — Podziel wiele wartości oddzielonych przecinkami w tabeli Oracle na wiele wierszy

  2. Lista elementów formatu liczb w Oracle

  3. ORA-12704:niezgodność zestawu znaków

  4. oratop

  5. jak używać dbms_scheduler do uruchamiania zadania co 30 minut