PL SQL Programming Oracle PLSQL Tutorial

By definition, the scope of a variable is a region of a program unit from which you can reference the variable.
A variable is local to the block where it is declared.
A variable is global to all sub-blocks of the block where it is declared.
In the following code, variable V_STR1_main is local for the block labeled and global for the
block labeled . Variable V_STR1_sub is visible only in the block .

SQL> <
>
  2  declare
  3      v_str1_main VARCHAR2(10);
  4  begin
  5      v_str1_main :='ABC';              -- local
  6      <>
  7      declare
  8          v_str1_sub VARCHAR2(1);
  9      begin
 10          v_str1_main:='ABC';           -- local
 11          v_str1_sub:='A';             -- global and visible
 12      end;
 13      v_str1_main :='ABC';              -- local
 14  end;
 15  /
PL/SQL procedure successfully completed.
SQL>