oracle数据库标签如果没有goto会执行么

oracle数据库标签如果没有goto会执行么,第1张

会执行的,oracle数据库标签后面不是必须要有goto语句才会执行的。goto语句的一些限制:

1.一个标签后面至少跟着一个可执行语句

2.GOTO语句的目标标签必须和GOTO语句在同一个作用域内

3.GOTO语句的目标标签必须和GOTO语句在PL/SQL代码块的相同部分

一、GOTO循环用法

DECLARE

    x number

BEGIN

    x := 9

    <<repeat_loop>>--循环点

    x := x - 1

    dbms_output.put_line(x)

    IF x >0 THEN

        GOTO repeat_loop  --当x的值>0时,就goto到repeat_loop

    END IF

END

/*以上语句翻译如下:

declare 定义变量

begin...end语句块

    x 变量赋值

    <<repeat_loop>>设置循环点

    循环内容

        x 变量递减

        按行打印 x

    IF...END IF语句块

        IF...(条件) THEN :满足IF条件  则

        GOTO语句 前往循环点

*/

二、FOR循环用法

DECLARE

    x number

BEGIN

    FOR i in 2..10 LOOP

        dbms_output.put_line(i)

    END LOOP

END

--最简单的循环?

/*

declare 定义变量

begin...end语句块

    for...loop...end loop语句

*/

三、WHILE循环用法

DECLARE

    x number

BEGIN

    x :=5

    WHILE x >1 LOOP

        x := x - 1

        dbms_output.put_line('循环内'||x)

    END LOOP

    dbms_output.put_line('循环外'||x)

END

/*

declare 定义变量

begin...end 语句块

    while...loop...end loop语句

*/

四、LOOP循环用法

DECLARE

    x number

BEGIN

    x :=0

    LOOP

          x := x + 1

          EXIT WHEN x >9--这里有个""号

          dbms_output.put_line('内'||x)

    END LOOP

    dbms_output.put_line('外'||x)

END

/*

declare 定义变量

begin...end

    x 变量赋值

    loop...end loop语句

        exit when ...(条件)

*/

退出循环:EXIT/RETURN

RETURN表示退出整个过程,也就是过程执行到此处结束执行,程序退出;

EXIT表示退出当前循环,继续向下执行,如果是有两层循环的话,EXIT则是退出内层循环,外层循环继续执行。

GOTO用法:

1,先设置标签 《wait_goto》

2,goto wait_goto;程序返回至wait_goto处继续执行。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6773347.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存