Oracle
 sql >> база данни >  >> RDS >> Oracle

PL/SQL - Пример за грешка за повдигане на приложението

Тук е даден пример за повдигане на грешка на приложението (raise_application_error) в съхранената процедура на PL/SQL, ако определеното условие не съвпада. Програмата ще предизвика изключение, ако комисионната (comm) е нула в таблицата EMP за даден номер на служител (empno).

Raise_Application_Error в пример за PL/SQL

СЪЗДАВАЙТЕ ИЛИ ЗАМЕНЕТЕ ПРОЦЕДУРА compute_sal (i_EMPNO В emp.empno%TYPE)ISCURSOR c_emp (p_empno emp.empno%TYPE)ISSELECT sal, commFROM empWHERE empno =p_empno;v_sal NUMBER;v_comm c_NUMBER; empno emp.empno%TYPE); v_sal, v_comm;CLOSE c_emp;АКО v_comm Е NULLTHENraise_application_error (-20001, 'Комисионната е нула.');END IF;DBMS_OUTPUT.put_line ('Общата заплата е:' || (v_sal + v_comm));END compute /предварително> 

Изпълнете

ЗАДАДЕТЕ ИЗХОД НА СЪРВЪР Включен;BEGINCOMPUTE_SAL(7369);END;/

Изход

SQL> SET SERVEROUTPUT ON;SQL> BEGIN2 COMPUTE_SAL(7369);3 END;4 /BEGIN*ГРЕШКА на ред 1:ORA-20001:Комисионната е нулева.ORA-06512:на „SCOTT.COMPUTE_SAL“, ред 16ORA -06512:на ред 2

Вижте също:

  1. Намерете номера на реда за грешка в PL/SQL
  2. Пример за задействане On-Error в Oracle Forms
  3. Ръководство за инсталиране на база данни за грешка Oracle 12c
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-01652:не може да се разшири temp сегмент със 128 в пространството за таблици СИСТЕМА:Как да се разшири?

  2. Вътрешното присъединяване е същото като равнопоставеното?

  3. Как мога да се свържа със сървър на Oracle Database 11g чрез ssh тунелна верига (двоен тунел, сървър в мрежата на компанията)?

  4. Въведение в групово събиране на PL/SQL в базата данни на Oracle

  5. Как да получите текущата дата в Oracle