暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PL/SQL详解之循环语句

Oracle微学堂 2018-10-23
2678
概念

PL/SQL提供了丰富的循环结构来重复执行一些列语句。Oracle提供的循环类型有:
1.
无条件循环LOOP-END LOOP语句
2. WHILE
循环语句
3. FOR
循环语句
在上面的三类循环中EXIT用来强制结束循环,相当于C#循环中的break

LOOP循环

LOOP循环是最简单的循环,也称为无限循环,LOOPEND LOOP是关键字。

语法格式:LOOP循环

LOOP

  --循环体

END LOOP


语法格式:

1. 循环体在LOOPEND LOOP之间,在每个LOOP循环体中,首先执行循环体中的语句序列,执行完后再重新开始执行。
2.
LOOP循环中可以使用EXIT或者[EXIT WHEN 条件]的形式终止循环。否则该循环就是死循环。

案例1:执行1+2+3+…+100的值

代码演示:LOOP循环

DECLARE

  counter number(3):=0;

  sumResult number:=0;

BEGIN

  LOOP

    counter := counter+1;

    sumResult := sumResult+counter;

    IF counter>=100 THEN

      EXIT;

    END IF;

    -- EXIT WHEN counter>=100; ②

  END LOOP;

  dbms_output.put_line('result is :'||to_char(sumResult));

END;

代码解析:

LOOP循环中可以使用IF结构嵌套EXIT关键字退出循环
注释行,该行可以代替中的循环结构,WHEN后面的条件成立时跳出循环。

WHILE循环

C#中的while循环很类似。先判断条件,条件成立再执行循环体。

语法格式:WHILE

C#while语法

PL/SQLWHILE语法

 while (条件){

  //循环体体

 }

 WHILE 条件 LOOP

  --循环体

 END LOOP;

案例2WHILE循环

代码演示:WHILE循环

DECLARE

    counter number(3):=0;

    sumResult number:=0;

BEGIN

    WHILE counter<100 LOOP

        counter:=counter+1;

        sumResult:=sumResult+counter;

    END LOOP;

        dbms_output.put_line('result is :'||sumResult);

END

FOR循环

FOR循环需要预先确定的循环次数,可通过给循环变量指定下限和上限来确定循环运行的次数,然后循环变量在每次循环中递增(或者递减)。FOR循环的语法是:

语法格式:FOR循环

FOR 循环变量 IN [REVERSE] 循环下限..循环上限 LOOP LOOP --循环体 END LOOP

语法解析:

循环变量:该变量的值每次循环根据上下限的REVERSE关键字进行加1或者减1

REVERSE:指明循环从上限向下限依次循环。

案例3FOR循环

代码演示:FOR循环

DECLARE

    counter number(3):=0;

    sumResult number:=0:

BEGIN

    FOR counter IN 1..100 LOOP

        sumResult := sumResult+counter;

    END LOOP;

    dbms_output.put_line('result is :'||sumResult);

END;

扫描二维码关注我的微学堂

搜索刘老师微信号:Rman-2014,备注“Oracle学习与咨询”,即可添加好友;或者扫描下面二维码,关注我的“微学堂”公众号,了解最新OCP认证动态、题库及答案解析、培训机构及讲师介绍、课堂授课内容等。每天还有一篇技术文章发布哦!


最后修改时间:2019-12-20 16:31:22
文章转载自Oracle微学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论