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选项

      

  • 相关阅读:
    Pages.Instance is null when installing in subdirectory(ScrewTurn Wiki)
    20082009年中国嵌入式开发从业人员调查报告
    同济大学软件学院院长谈嵌入式方向选择
    WCF vs .NET Remoting 2.0
    RCP全局缓存
    对hibernate的set集合进行排序
    汇编基础——常用寄存器及其用途
    如何做外链
    linux学习之linux百问2,不断更新
    Hibernate中createQuery与createSQLQuery两者的区别
  • 原文地址:https://www.cnblogs.com/Kubility123/p/5690292.html
Copyright © 2011-2022 走看看