Nested block : Begin End Block « PL SQL « Oracle 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.

   
    
    
    
  








Related examples in the same category

1.Three sections - declarative, executable, and exception.
2.An example of an anonymous block
3.Block-Based Development
4.The PL/SQL Block
5.Block Nesting
6.The executable section needs at least one line of code to be valid.
7.Five level nested statement
8.no executable code
9.Building Blocks of PL/SQL
10.A Nested Block Example
11.Block with name
12.Outer Block name and inner block name
13.This script demonstrates the structure of a block
14.Plain SQL and PL/SQL program