美文网首页
GOTO跳转[go/plsql/t-sql]

GOTO跳转[go/plsql/t-sql]

作者: 蝉时雨丶 | 来源:发表于2020-04-10 15:25 被阅读0次
PLSQL.png

一 定义:
The Oracle PL/SQL GOTO statement is a sequential control structure available in Oracle.
The GOTO statement immediately transfers program control (called "branching") unconditionally to a named statement label or block label.
The statement or label name must be unique in the block.

属于plsql控制语句,用于程序控制非条件跳至指定标签<<???>>。不易控制和维护,慎用!

二 例子:
1、简单GOTO 语句,判断数字是否为质数:

DECLARE
  p VARCHAR2(30);
  n PLS_INTEGER := 37; -- test any integer > 2 for prime
BEGIN
  FOR j IN 2 .. round(sqrt(n)) LOOP
    IF n MOD j = 0 THEN
      -- test for prime
      p := ' is not a prime number'; -- not a prime number
      GOTO print_now;
    END IF;
  END LOOP;
  p := ' is a prime number';
  <<print_now>>
  dbms_output.put_line(to_char(n) || p);
END;
/

2、使用null避免报错:

DECLARE
  done BOOLEAN;
BEGIN
  FOR i IN 1 .. 50 LOOP
    IF done THEN
      GOTO end_loop;
    END IF;
    <<end_loop>> -- not allowed unless an executable statement follows
    NULL; -- add NULL statement to avoid error
  END LOOP; -- raises an error without the previous NULL
END;
/

3、使用goto分出一个环绕块:

-- example with GOTO statement
DECLARE
  v_last_name VARCHAR2(25);
  v_emp_id    NUMBER(6) := 120;
BEGIN
  <<get_name>>
  SELECT last_name
  INTO v_last_name
  FROM employees
  WHERE employee_id = v_emp_id;
  BEGIN
    dbms_output.put_line(v_last_name);
    v_emp_id := v_emp_id + 5;
    IF v_emp_id < 120 THEN
      GOTO get_name; -- branch to enclosing block
    END IF;
  END;
END;
/

相关文章

  • GOTO跳转[go/plsql/t-sql]

    一 定义:The Oracle PL/SQL GOTO statement is a sequential con...

  • 目录

    第一部分:基础篇 1.流程控制 if语句(python、go、plsql、t-sql) goto语句(go、pls...

  • Go语言学习教程(八)

    一、goto * goto是Go语言中的一个关键字 * goto让编译器执行时跳转到特定位置 * Loop是标记名...

  • GO Web 基础 (002)

    GO的流程和函数 if goto 定义当前函数要跳转的标签 (注) 标签名大小写是敏感的 switch case ...

  • go语言有goto?

    go语言中goto的使用 一、goto 基本介绍 Go 语言的 goto 语句可以无条件地转移到程序中指定的行。 ...

  • OC中goto语句的使用

    前言 Objective-C提供了goto语句来执行跳转,这种goto语句功能非常强大,它被称为无条件跳转,但由于...

  • GO LANGUAGE

    #GO Language: control statement :break continue for goto ...

  • 4-3 goto gosub label

    Goto ;跳转到指定的标签并继续执行下面是实例:···Goto, MyLabel...MyLabel:Slee...

  • C语言中使用goto语句

    goto语句又叫无条件转移语句,先看一个例子: 可以看出在执行goto gotoflag语句之后直接跳转到goto...

  • Golang入门四:流程控制

    条件语句 选择语句 循环语句 跳转语句goto

网友评论

      本文标题:GOTO跳转[go/plsql/t-sql]

      本文链接:https://www.haomeiwen.com/subject/mmmrmhtx.html