This script demonstrates variable visibility
SQL> SQL> SQL> SET SERVEROUTPUT ON SQL> SQL> DECLARE 2 visibleValue VARCHAR2(30); 3 hiddenValue VARCHAR2(30); 4 BEGIN 5 visibleValue := 'visible'; 6 hiddenValue := 'hidden'; 7 8 DBMS_OUTPUT.PUT_LINE('OUTER BLOCK'); 9 DBMS_OUTPUT.PUT_LINE(visibleValue); 10 DBMS_OUTPUT.PUT_LINE(hiddenValue); 11 12 DECLARE 13 hiddenValue NUMBER(10); 14 BEGIN 15 DBMS_OUTPUT.PUT_LINE('INNER BLOCK'); 16 hiddenValue := 'inner hiddenValue'; 17 DBMS_OUTPUT.PUT_LINE(hiddenValue); 18 EXCEPTION 19 WHEN OTHERS 20 THEN 21 DBMS_OUTPUT.PUT_LINE('hiddenValue of type VARCHAR2 was...hidden'); 22 END; 23 END; 24 / OUTER BLOCK visible hidden INNER BLOCK hiddenValue of type VARCHAR2 was...hidden PL/SQL procedure successfully completed.