Oracle循环语句

当程序需要反复执行某一操作时,就必须使用循环结构。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。

 

  • 3
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pan_junbiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值