循环结构

循环提供了一遍又一遍重复执行某段语句直至满足退出条件,退出循环。编写循环语句时,注意一定要确保有相应的退出条件满足。

1. LOOP-EXIT-END循环

<循环体>是在循环体中需要完成操作,如果条件表达式为true则跳出循环,否则继续循环操作,直到满足条件表达式才能跳出循环

--求1到100的和。
 declare
    v_sum   number:=0;
    v_n     number:=1;
    begin
      loop
        v_sum:=v_sum+v_n;
        v_n:=v_n+1;
        if v_n>100 then
           exit;
        end if;
       end loop;
        dbms_output.put_line(to_char(v_sum));
    end;

2.LOOP-EXIT-WHEN-END循环

除退出条件检测有所区别外,此结构与前一个循环结构类似。

--求1到100的和。
 declare
    v_sum   number:=0;
    v_n     number:=1;
    begin
      loop
        v_sum:=v_sum+v_n;
        v_n:=v_n+1;
        exit when v_n>100;
       end loop;
        dbms_output.put_line(to_char(v_sum));
    end;

3.WHILE-LOOP-END循环

--用WHILE-LOOP-END求1到100的和。
declare v_sum number:=0; v_n number:=1; begin while v_n<=100 loop v_sum:= v_sum+v_n; v_n:=v_n+1; end loop; dbms_output.put_line(v_sum); end ;

4.FOR-IN-LOOP-END循环

for关键字后面指定一个循环变量,In确定循环变量的初值和终值,在循环变量的初值和终值之间是分割符两个点号“..”,如果循环变量的值小于终值,则运行循环体内的语句,否则跳出循环,执行下面的语句。每循环一次,循环变量自动增加一个步长的值,直到循环变量超过终值,退出循环,执行循环体后面的语句。

--用FOR-IN-LOOP-END求1到100的和。
declare
    v_sum  number:=0;
    v_n   number:=1;
    begin
      for v_n in 1..100
         loop
           v_sum:=v_sum+v_n;
           --v_n:=v_n+1;
          end loop;
          dbms_output.put_line(to_char(v_sum));
    end;

 

posted @ 2020-06-20 13:42  新来的一名小博客  阅读(305)  评论(0编辑  收藏  举报