个性化阅读
专注于IT技术分析

PL-SQL 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: 49

Statement processed.

对GOTO语句的限制

以下是强加给GOTO语句有一些限制的列表。

  • 无法控制转移到IF语句,CASE语句,LOOP语句或子块。
  • 不能从一个传输控制IF语句子句到另一个或从一个CASE语句时,从句到另一个。
  • 不能从外部块传送控制成子块。
  • 不能将控制转到子程序。
  • 不能将控制转到异常处理程序。
赞(0)
未经允许不得转载:srcmini » PL-SQL GOTO语句

相关推荐

评论 抢沙发

评论前必须登录!