Mega Code Archive

 
Categories / Oracle PLSQL / PL SQL
 

Nested block

SQL> SQL> CREATE TABLE emp (   2    id         NUMBER PRIMARY KEY,   3    fname VARCHAR2(50),   4    lname  VARCHAR2(50)   5  ); Table created. SQL> SQL> INSERT INTO emp (id, fname, lname)VALUES (1, 'A', 'B'); 1 row created. SQL> INSERT INTO emp (id, fname, lname)VALUES (2, 'C', 'D'); 1 row created. SQL> INSERT INTO emp (id, fname, lname)VALUES (3, 'Enn', 'F'); 1 row created. SQL> INSERT INTO emp (id, fname, lname)VALUES (4, 'G', 'H'); 1 row created. SQL> INSERT INTO emp (id, fname, lname)VALUES (5, 'G', 'Z'); 1 row created. SQL> SQL> SQL> SET SERVEROUTPUT ON ESCAPE OFF SQL> SQL> DECLARE   2     v_emp emp.fname%TYPE;   3  BEGIN   4   5     -- the first nested block   6     BEGIN   7        SELECT fname INTO v_emp FROM emp WHERE UPPER(lname) = 'H';   8     EXCEPTION   9        WHEN NO_DATA_FOUND  10        THEN  11           DBMS_OUTPUT.PUT_LINE('EXCEPTION HANDLER for nested block 1');  12           DBMS_OUTPUT.PUT_LINE(' ');  13           NULL;  14     END;  15  16  17  END;  18  / PL/SQL procedure successfully completed. SQL> SQL> drop table emp; Table dropped.