zoukankan      html  css  js  c++  java
  • ORACLE PL/SQL 实例精解之第六章 迭代控制之一

    6.1 简单循环

    简单循环,就想其名称一张,是一种最基本循环。简单循环具有如下结构

    LOOP

      STATEMENT 1;

      STATEMENT 2;

      ...

      STATEMENT N;

    END LOOP;

    保留字LOOP标识简单循环的开始。STATEMENT1到STATEMENT N 是反复执行的语句序列。这些语句由一个或者多个标准的编程结构组成。END LOOP是标识循环结构结束的保留字

    每次循环迭代处理时,一些列语句会执行,然后再次执行循环最开始的语句。上述语句序列会无限制的执行,因为没有语句指定何时循环会终止。因此,简单循环称为无穷循环,因为无法退出这个循环,正确构造的循环需要退出条件,退出条件决定循环终止的情况。退出条件有两种形式:EXIT和EXIT WHEN

    1. EXIT语句

    使用EXIT子句,当EXIT条件为TRUE时,循环会终止。计算EXIT条件时会使用IF语句。当EXIT语句被计算为TRUE时,执行权会转到END LOOP语句后的第一条可执行语句

      LOOP

        STATEMENT 1;

        STATEMENT 2;

        IF CONDIDTION THEN

           EXIT;

      END LOOP;

      STATEMENT 3;

    2. EXIT WHEN 语句

      只有当EXIT WHEN 语句条件的计算结果为TRUE时,才会终止循环。然后,执行权会转到END LOOP 语句之后的第一条可执行语句。

    EXIT WHEN子句的循环结构

    LOOP

      STATEMENT 1;

      STATEMENT 2;

      EXIT WHEN CONDIDTION;

    END LOOP;

    STATEMENT 3;

    6.1.2 使用带有EXIT WHEN条件的简单循环

    6.2 WHILE 循环

    WHILE循环结构:

    WHILE CONDITION LOOP

      STATEMENT 1;

      STATEMENT 2;

      ......

      STATEMENT N;

    END LOOP;

    保留字WHILE标识循环结构的开始。CONDITION是本训话的测试条件,结果为TRUE或者FALSE.测试结果决定是否执行本循环。语句1~N是重复执行的语句序列。END LOOP是标识循环结构结束的保留字

    理解:就是先判断CONDIDTION如果是TRUE满足就进入循环,不满足就结束循环直接执行下一条语句

    提前终止循环

    在WHILE循环体中,可以使用EXIT和EXIT WHEN语句。如果在测试条件为FALSE之前,EXIT条件为TRUE,则循环会被提前终止。如果在EXIT条件为TRUE之前,测试条件为TRUE,测不算作循环提前终止。

    WHILE TEST_CONDIDTION LOOP

      STATEMENT 1;

      STATEMENT 2;

      IF EXIT_CONDITION THEN

        EXIT;

      END IF;

      END LOOP;

      STATEMENT 3;

    或者

    WHILE TEST_CONDIDTION LOOP

      STATEMENT 1;

      STATEMENT 2;

      EXIT WHEN EXIT_CONDITION;

    END LOOP;

    STATEMENT 3

    6.3 数值型FOR循环

    FOR loop_counter IN [REVERSE] lower_limit..upper_limit loop

      STATEMENT 1;

      STATEMENT 2;

      .....

      STATEMENT N;

    END LOOP

    保留字FOR标识FOR循环结构的开始。变量loop_counter是以已含定义的索引变量,没有必要再PL/SQL语句块的生命部分定义循环计数器。这个变量是循环结构定义的。lower_limit和upper_limit是两个整数数字或者在运行时计算结果为整数值的表达式,双点号。。是范围操作符。lower_limit和upper_limit是两个整数数字或者在运行时计算结果为整数值的表达式,双点号。。是范围操作符。lower_limit和upper_limit定义循环的迭代次数,其值在循环第一次迭代时计算。语句1到N是反复执行的语句序列。END LOOP是标识循环结构结束的保留字。当循环被定义时,保留字IN或者IN REVERSE必须已经存在。如果使用REVERSE保留字,循环计数器会从上限值迭代到下限值。但是限制规范的语法不会变化。下限制始终会被首先引用。

    1. 在循环中使用REVERSE选项

    在本节前面,当计算机循环计数器的值时,可以使用两个选项:IN和REVERSE.前面已经讨论过在循环中IN选项的用法。下面的例子演示如何在循环中使用IN REVERSE选项

      

  • 相关阅读:
    MySQL插入数据获得自动增长的ID
    C#解决“System.Threading.ThreadStateException:“在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试程序附加到该进程才会引发此异常”的异常
    C# 关闭当前窗体的时候打开另一个窗口
    C# WinForm中关闭指定的窗体
    MySQL 8.0 版本修改字符编码
    微信支付API v3接口使用应用篇
    Linux Tomcat安装篇(daemon运行,开机自启动)
    Linux nginx安装篇
    SpringCloud系列之Nacos+Dubbo+Seata应用篇
    SpringCloud系列之Nacos+Dubbo应用篇
  • 原文地址:https://www.cnblogs.com/Kubility123/p/5690292.html
Copyright © 2011-2022 走看看