在 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。