Nested Blocks
declare
x number;
begin
x := 80;
dbms_output.put_line(‘abc’);
declare
y number;
begin
y := 90;
dbms_output.put_line('Inner Block variable value ' || y);
end;
dbms_output.put_line('Outer Block variable value ' || x);
end;
Scope of variables
A variable declared in the outer block is accessible in the inner block. But a variable declared in the inner block is accessible only in the inner block.
declare
outer number;
begin
outer := 80;
declare
inner number;
begin
inner := 90;
dbms_output.put_line('Inner Block variable value ' || inner);
dbms_output.put_line('Outer block variable is accessible in the inner
block’);
dbms_output.put_line('Outer block variable value ' || outer);
end;
dbms_output.put_line('Outer Block variable value ' || outer);
dbms_output.put_line('Inner Block variable value ' || inner);
end;
/
Labels
If the variables names of the outer and inner blocks are same then labels have to be used within the inner block to avoid ambiguity.
<>
declare
x number;
begin
declare
x number := 100;
begin
dbms_output.put_line('Value of the inner block x is ' || x);
-- Giving value of x of the inner block to the outer block x
outer_block.x := x;
end;
x := x 500;
dbms_output.put_line('Value of the outer block x is ' || x);
end;
/
Discussion about PL/SQL Nested block
| Author | Body |
Rahul
7/12/2009 3:51 AM
|
Please provide feedback about this article here.
To participate in this discussion Sign up for free membership of 24x7code.
To Signup click on Login , Use create user link & the follow the instructions.
Thank you.
|