Mega Code Archive

 
Categories / Oracle PLSQL / PL SQL
 

Override your scope access to containing blocks by reusing an identifier in a nested block

SQL> SQL> DECLARE   2    current_block VARCHAR2(10) := 'Outer';   3    outer_block   VARCHAR2(10) := 'Outer';   4  BEGIN   5    dbms_output.put_line('[current_block]['||current_block||']');   6    DECLARE   7   8      current_block VARCHAR2(10) := 'Inner';   9    BEGIN  10      dbms_output.put_line('[current_block]['||current_block||']');  11      dbms_output.put_line('[outer_block]['||outer_block||']');  12    END;  13    dbms_output.put_line('[current_block]['||current_block||']');  14  END;  15  / [current_block][Outer] [current_block][Inner] [outer_block][Outer] [current_block][Outer] PL/SQL procedure successfully completed. SQL>