PL-SQL GOTO语句

本文概要

  • PL/ SQL GOTO语句的例子
  • 对GOTO语句的限制
在PL / SQL,GOTO语句使你能够得到从GOTO到一个特定的可执行语句标签无条件跳转在PL / SQL块的同一子程序。
这里的标签声明含有< < > > 符号包裹内的LABEL_NAME和必须遵循的至少一个语句来执行。
句法:
GOTO label_name;

这里的标签声明含有< < > > 符号包裹内的LABEL_NAME和必须遵循的至少一个语句来执行。
GOTO label_name; .. .. < < label_name>> Statement;

PL/ SQL GOTO语句的例子让我们PL / SQL GOTO语句的一个例子。
DECLARE a number(2) := 30; BEGIN < < loopstart>> -- while loop execution WHILE a < 50 LOOP dbms_output.put_line ('value of a: ' || a); a := a + 1; IF a = 35 THEN a := a + 1; GOTO loopstart; END IF; END LOOP; END; /

上面的代码执行后,你会得到以下结果:
value of a: 30 value of a: 31 value of a: 32 value of a: 33 value of a: 34 value of a: 36 value of a: 37 value of a: 38 value of a: 39 value of a: 40 value of a: 41 value of a: 42 value of a: 43 value of a: 44 value of a: 45 value of a: 46 value of a: 47 value of a: 48 value of a: 49Statement processed.

对GOTO语句的限制【PL-SQL GOTO语句】以下是强加给GOTO语句有一些限制的列表。
  • 无法控制转移到IF语句,CASE语句,LOOP语句或子块。
  • 不能从一个传输控制IF语句子句到另一个或从一个CASE语句时,从句到另一个。
  • 不能从外部块传送控制成子块。
  • 不能将控制转到子程序。
  • 不能将控制转到异常处理程序。

    推荐阅读