在 SPL 例程中,隐式的语句块从 CREATE 语句的结尾扩展到 END 语句的开头。您还可 定义显式的语句块,它以 BEGIN 语句开头并以 END 语句结尾,如下图所示。
显式的语句块。
BEGIN
DEFINE distance INT;
LET distance = 2;
END
显式的语句块允许您定义仅在语句块内有效的变量或处理。例如,您可定义或重新定义变 量,或以不同的方式处理异常,仅对于显式的语句块的作用域。
下图中的 SPL 函数有一个显式的语句块,它重新定义在隐式的块中定义的变量。
重新定义在隐式的块中定义的变量的显式的语句块。
CREATE FUNCTION block_demo()
RETURNING INT;
DEFINE distance INT;
LET distance = 37;
BEGIN
DEFINE distance INT;
LET distance = 2;
END
RETURN distance;
END FUNCTION;
在此示例中,隐式的语句块定义变量 distance 并赋值 37。显式的语句块定义名为 distance 的 不同的变量,并赋值 2。然而,RETURN 语句返回存储在第一个 distance 变量中的值,即 37。