更新日期:2024年09月11日
这个示例展示了几个标识符的范围和可见性。第一个子块重新声明全局标识符a。为
了引用全局变量a,第一个子块必须使用外部块的名称来限定它,但是外部块没有名称。
因此,第一个子块不能引用全局变量a;它只能引用其局部变量a,因为子块在同一层,第一
个子块不能引用d,第二个子块不能引用c。
GBase 8s PL/SQL手册
南大通用数据技术股份有限公司
- 16 -
-- Outer block:
DECLARE
a CHAR; -- Scope of a (CHAR) begins
b REAL; -- Scope of b begins
BEGIN
-- Visible: a (CHAR), b
-- First sub-block:
DECLARE
a INTEGER; -- Scope of a (INTEGER) begins
c REAL; -- Scope of c begins
BEGIN
-- Visible: a (INTEGER), b, c
NULL;
END; -- Scopes of a (INTEGER) and c end
-- Second sub-block:
DECLARE
d REAL; -- Scope of d begins
BEGIN
-- Visible: a (CHAR), b, d
NULL;
END; -- Scope of d ends
-- Visible: a (CHAR), b
END; -- Scopes of a (CHAR) and b end