Controlling scope with a variable declaration : Variable Scope « PL SQL Programming « Oracle PL/SQL 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> <<MAIN>>
  2  declare
  3      v_str1_main VARCHAR2(10);
  4  begin
  5      v_str1_main :='ABC';              -- local
  6      <<SUB>>
  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>








24.3.Variable Scope
24.3.1.Controlling scope with a variable declaration
24.3.2.Scope Rules