循环提供了一遍又一遍重复执行某段语句直至满足退出条件,退出循环。编写循环语句时,注意一定要确保有相应的退出条件满足。
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;
循环结构
没有评论:
发表评论