Mega Code Archive

 
Categories / Oracle PLSQL / PL SQL
 

This script demonstrates user defined exceptions

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> SQL> DECLARE   2    e_Duplicateemp EXCEPTION;   3   4    v_emp1 book.emp1%TYPE;   5    v_emp2 book.emp2%TYPE;   6    v_emp3 book.emp3%TYPE;   7  BEGIN   8    SELECT emp1, emp2, emp3 INTO v_emp1, v_emp2, v_emp3 FROM book WHERE title = 'XML';   9  10    IF (v_emp1 = v_emp2) OR (v_emp1 = v_emp3) OR (v_emp2 = v_emp3) THEN  11       RAISE e_Duplicateemp;  12    END IF;  13  END;  14  / DECLARE * ERROR at line 1: ORA-01403: no data found ORA-06512: at line 8 SQL> SQL> drop table book; Table dropped.