Insert error message to a table in exception handler : Exception Handle « PL SQL « Oracle PL / SQL






Insert error message to a table in exception handler

    
SQL>
SQL> CREATE TABLE book (
  2    isbn      CHAR(10) PRIMARY KEY,
  3    category  VARCHAR2(20),
  4    title     VARCHAR2(100),
  5    num_pages NUMBER,
  6    price     NUMBER,
  7    copyright NUMBER(4),
  8    emp1   NUMBER,
  9    emp2   NUMBER,
 10    emp3   NUMBER
 11  );

Table created.

SQL>
SQL> INSERT INTO book (isbn, category, title, num_pages, price, copyright, emp1, emp2, emp3)
  2             VALUES ('1', 'Database', 'Oracle', 563, 39.99, 1999, 1, 2, 3);

1 row created.

SQL> INSERT INTO book (isbn, category, title, num_pages, price, copyright, emp1, emp2)
  2             VALUES ('2', 'Database', 'MySQL', 765, 44.99, 1999, 4, 5);

1 row created.

SQL> INSERT INTO book (isbn, category, title, num_pages, price, copyright, emp1, emp2, emp3)
  2             VALUES ('3', 'Database', 'SQL Server', 404, 39.99, 2001, 6, 7, 8);

1 row created.

SQL>
SQL> CREATE TABLE log_table(
  2    code     VARCHAR2(100),
  3    message     VARCHAR2(100),
  4    info     VARCHAR2(100));

Table created.

SQL> DECLARE
  2   
  3    e_Duplicateemp EXCEPTION;
  4
  5   
  6    v_emp1 book.emp1%TYPE;
  7    v_emp2 book.emp2%TYPE;
  8    v_emp3 book.emp3%TYPE;
  9
 10  BEGIN
 11    SELECT emp1, emp2, emp3 INTO v_emp1, v_emp2, v_emp3 FROM book WHERE title = 'XML';
 12
 13    IF (v_emp1 = v_emp2) OR (v_emp1 = v_emp3) THEN
 14       RAISE e_Duplicateemp;
 15    END IF;
 16  EXCEPTION
 17    WHEN e_Duplicateemp THEN
 18      INSERT INTO log_table (info) VALUES ('XML has duplicate emp');
 19    WHEN OTHERS THEN
 20      INSERT INTO log_table (code, message, info) VALUES(NULL, SUBSTR(DBMS_UTILITY.FORMAT_ERROR_STACK, 1, 200),'Oracle error occurred');
 21  END;
 22  /

PL/SQL procedure successfully completed.

SQL> drop table book;

Table dropped.

SQL> drop table log_table;

Table dropped.

   
    
    
    
  








Related examples in the same category

1.Check exception type
2.Deal with multiple exception branches
3.when other exceptions then
4.Handle update exception
5.declaration exception
6.handle exception of duplicate value on index
7.when other then not user-defined exception
8.Using PRAGMA EXCEPTION_INIT
9.Different Values of SQLCODE and SQLERRM
10.The OTHERS Exception Handler
11.Error-handling features of PL/SQL: log exception
12.PLS-483 error: Duplicate Handlers
13.NO_DATA_FOUND exception.
14.The scope of exceptions.
15.Sub block in exception section
16.Catch all exceptions
17.Catch user-defined exception
18.Check zero divide exception
19.Combines declaring an EXCEPTION variable
20.Mapping a user-defined error code to an EXCEPTION variable
21.This script demonstrates the EXCEPTION_INIT pragma.
22.Error Handling Call
23.Raise exception in if statement