本地变量的作用域

在定义本地变量的那个语句块内以及任何嵌套的语句块内,它是有效的,除非您在该语句块中重新定义该变量。

在系统中的 SPL 过程的开头,定义并初始化整数变量 xyz

图: 定义和初始化变量。

CREATE PROCEDURE scope()
            DEFINE x,y,z INT;
            LET x = 5; 
            LET y = 10;
            LET z = x + y; --z is 15
            BEGIN
            DEFINE x, q INT; 
            DEFINE z CHAR(5);
            LET x = 100;
            LET q = x + y;   -- q = 110
            LET z = 'silly'; -- z receives a character value
            END
            LET y = x; -- y is now 5
            LET x = z; -- z is now 15, not 'silly'
            END PROCEDURE;

BEGIN 与 END 语句标记在其中定义整数变量 xq 以及 CHAR 变量 z 的嵌套的语句块。在嵌套的块内,重新定义的变量 x 掩盖原始的变量 x。在标记该嵌套的块结束的 END 语句之后,可再次访问 x 的原始值。