Oracle循环语句

来源:互联网 发布:性冲动 知乎 编辑:程序博客网 时间:2024/06/06 20:37

当程序需要反复执行某一操作时,就必须使用循环结构。PL/SQL中的循环语句主要包括loop语句、while语句和for语句3种。

1、loop语句

loop语句会先执行一次循环体,然后在判断“exit when”关键字后面的条件表达式的值是true还是false,如果是true,则程序会退出循环体,否则程序将再次执行循环体,这样就使得程序至少能够执行一次循环体。

【实例】使用loop语句求得前100个自然数的和,并输出到屏幕。

declare  sum_i int:=0;         --定义整型变量,存储整数和  i int:=0;             --定义整数变量,存储自然数begin  loop                      i:=i+1;             --循环累加自然数    sum_i:=sum_i+i;     --得出自然数    exit when i=100;    --当循环100次时,程序退出循环体  end loop;  dbms_output.put_line('前100个自然数的和是:'||sum_i);end;

2、while语句

while语句根据它的条件表达式的值执行零次或多次循环体,在每次执行循环体之前,首先要判断条件表达式的值是否为true,若为true,则程序执行循环体;否则退出while循环,然后继续执行while语句后面的其他代码。

【实例】使用while语句求得前100个自然数的和,并输出到屏幕。

declare  sum_i int:=0;         --定义整型变量,存储整数和  i int:=0;             --定义整数变量,存储自然数 begin  while i<=99 loop      --当i的值等于100时,程序退出while循环    i:=i+1;             --得出自然数    sum_i:=sum_i+i;     --计算前n个自然数的和  end loop;  dbms_output.put_line('前100个自然数的和是:'||sum_i);end;

3、for语句

for语句是一个可以预置循环次数的循环控制语句,它有一个循环计数器,通常是一个整型变量,通过这个循环计数器来控制循环执行的次数。

【实例】使用for语句求得前100个自然数中偶数之和,并输出到屏幕。
declare  sum_i int:=0;              --定义整型变量,存储整数和begin  for i in reverse 1..100    --遍历前100个自然数  loop    if mod(i,2)=0 then       --判断是否为偶数      sum_i:=sum_i+i;        --计算偶数和    end if;  end loop;  dbms_output.put_line('前100个自然数中偶数之和是:'||sum_i);end;

在上面的for语句中,由于使用了关键字“reverse”,表示计数器i的值为递减状态,即i的初始值为100,随着每次递减1,最后一次for循环时i的值变为1。如果在for语句中不使用关键字“reverse”,则表示计数器i的值为递增状态,即i的初始值为1。



0 0