PL SQL Data Types Oracle PLSQL Tutorial

SQL> <>
  2  DECLARE
  3     v_visible VARCHAR2(30);
  4     v_hidden VARCHAR2(30);
  5  BEGIN
  6     v_visible := 'v_visible in the outer block';
  7     v_hidden := 'v_hidden in the outer block';
  8
  9     DBMS_OUTPUT.PUT_LINE('*** OUTER BLOCK ***');
 10     DBMS_OUTPUT.PUT_LINE(v_visible);
 11     DBMS_OUTPUT.PUT_LINE(v_hidden);
 12     DBMS_OUTPUT.PUT_LINE('     ');
 13
 14     DECLARE
 15        v_hidden NUMBER(10);
 16     BEGIN
 17        DBMS_OUTPUT.PUT_LINE('*** INNER BLOCK ***');
 18        l_outer_block.v_hidden := 'v_hidden in the inner block';
 19        DBMS_OUTPUT.PUT_LINE(l_outer_block.v_hidden);
 20     EXCEPTION
 21        WHEN OTHERS
 22        THEN
 23           DBMS_OUTPUT.PUT_LINE('v_hidden of type VARCHAR2 was...hidden');
 24     END;
 25  END;
 26  /
*** OUTER BLOCK ***
v_visible in the outer block
v_hidden in the outer block
*** INNER BLOCK ***
v_hidden in the inner block
PL/SQL procedure successfully completed.