<< Label >> 语句

使用 SPL 的 <<label>> 语句声明语句标签或循环标签。

请注意 label 并不是 <<label>> 语句的关键字,它是 <<label>> 语句声明的语句标签或循环标签某些特定用户定义的标识符的占位符。

语法

元素 描述 限制 语法
label 语句标签或循环标签的名称 在 SPL 例程的语句标签和循环标签的中必须是唯一的 标识符

用法

您可以这两中方法使用 <<Label>> 语句:
  • 在 SPL 的 GO TO 语句可以传递执行控制的可执行语句之前声明 statement label 。紧跟在语句标签声明之后的 SPL 语句称为 labeled statement
  • 在 SPL 的 LOOP 、FOR 或 WHILE 语句之前声明 loop label 。紧跟在循环标签声明之后的 LOOP 、FOR 或 WHILE 语句称为 labeled loop

EXIT label 或 EXIT label WHEN (条件)语句可以从带标签的循环中跳出,将执行控制传递到 END LOOP label 标签语句之后的语句,在 EXIT 语句中指定的 label 可以匹配 EXIT 语句的标签循环的标签标识符,或者如果循环是嵌套的,此 label 必须符合输出的带标签的循环的标签。在任一情况下,EXIT label 语句将控制传递到跟随在指定相同循环标签的 END LOOP label 语句之后的语句。此 EXIT label 行为与 GOTO label 语句的行为不同,GOTO label 语句将控制传递到指定语句标签的声明之后的语句。

以下限制应用于 SPL 例程中的标签:
  • 语句标签的名称必须在 GOTO 语句引用的作用域内。
  • SQL 的 WHENEVER 语句的 GOTO 选项不能引用 SPL 语句标签,WHENEVER 语句只在 ESQL/C 应用程序中有效。
  • SPL 的 GOTO 语句不能引用循环标签。
  • GOTO 语句不能引用 ON EXCEPTION 语句块中的语句标签。
  • 不能在 ON EXCEPTION 语句块中声明语句标签。
  • 标签名称在 SPL 例程的语句标签和循环标签中必须是唯一的。