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 |