zoukankan      html  css  js  c++  java
  • Oracle基础 PL-SQL编程基础(3) 循环结构

    循环结构:

    1、 LOOP循环结构

      语法:

      LOOP

        要执行的语句;

        EXIT WHEN <条件>   --条件满足则退出循环

      END LOOP;

      示例:循环输出1-10的整数  

    DECLARE
      v_num NUMBER := 1;
    BEGIN
         LOOP
             DBMS_OUTPUT.put_line(v_num);
             v_num := v_num + 1;
             EXIT WHEN v_num > 10;
         END LOOP;     
    END;

      LOOP结构的弊端:结构不够清晰,EXIT容易漏写。

    2、WHILE循环结构

      语法:

      WHILE <布尔表达式> LOOP

        要执行的语句;

      END LOOP;

      示例:显示1-10的整数;  

    DECLARE
      v_num NUMBER := 1;
    BEGIN
         WHILE v_num <= 10 LOOP
             DBMS_OUTPUT.put_line(v_num);
             v_num := v_num + 1;
         END LOOP;     
    END;

    3、FOR循环

      语法:

      FOR 循环计数器 IN [REVERSE] 下线...上限 LOOP

        要执行的语句;

      END LOOP;

      示例:显示1-10的整数  

    DECLARE
      v_num NUMBER;
    BEGIN
      FOR v_num IN 1..10 LOOP
              DBMS_OUTPUT.PUT_LINE(V_NUM);
        END LOOP;
    END;

    在for循环中,每循环一次,循环变量自动+1,使用关键字reverse,循环变量自动-1,跟在in reverse后的数字必须从小到大,而且必须是整数,不能是变量或者表达式,可以使用EXIT退出循环。

    上一个例子中如果添加reverse则是降序输出。

    总结:

    循环结构可以重复执行某些操作,在已知循环次数情况下优先采用for循环,未知次数情况下采用while循环。EXIT可以嵌套在任何循环中,直接终止循环。 LOOP一般不使用!

  • 相关阅读:
    LeetCode-49. Group Anagrams
    LeetCode-242.Valid Anagram
    LeetCode-239.Sliding Window Maximum
    LeetCode-703. Kth Largest Element in a Stream
    LeetCode-225.Implement Stack using Queues
    LeetCode-232.Implement Queue using Stacks
    LeetCode-25. Reverse Nodes in k-Group
    LeetCode-142.Linked List Cycle II
    LeetCode-141. Linked List Cycle
    LeetCode-24.Swap Nodes in Pairs
  • 原文地址:https://www.cnblogs.com/zhengcheng/p/4170543.html
Copyright © 2011-2022 走看看