ORACLE——循环

循环(普通循环、for、while)
1、普通循环
语法
loop
  需要循环执行的代码;(循环体)
  exit when 条件 ;   --没有break,也没有continue,只有exit
end loop;
注意:
循环的三要素:循环变量有初值,循环变量得有变化,循环条件

--例子:打印1~10;
declare
 i integer;
begin
 i:=1;
 loop
   dbms_output.put_line(i);   
   i:=i+1;
   exit when i>10;
 end loop; 
end;

 

--打印 1+2+3+。。。+100的和。
declare
  i integer;
  s integer;
begin
  s:=0;
  i:=1;
  loop
   s:=s+i;
   i:=i+1;
   exit when i>100;
  end loop; 
  dbms_output.put_line(s);   
end;
--求1-100之间所有偶数和。
declare
  i integer;
  s integer;
begin
  s:=0;
  i:=1;
  loop  
   if mod(i,2)=0 then  --能被2整除
     s:=s+i;
   end if;
   i:=i+1;
   exit when i>100;
  end loop; 
  dbms_output.put_line(s);   
end;


--for循环
--语法:
--for 循环变量名 in  初值 .. 最大值
--loop
  --循环体;
--end loop;

--例子:打印1-10
begin
 for n in 1..10   --n自动定义,不可以在declare中定义, 步长的绝对值只能是1
 loop
   dbms_output.put_line(n);
 end loop;
end;
--打印1-10的和
declare
 s integer:=0;
begin
 for n in 1..10
 loop
   s:=s+n;
 end loop;
 dbms_output.put_line(s);
end;
--求1-10之间的偶数和
declare
 s integer:=0;
begin
 for n in 1..10
 loop
   if mod(n,2)=0 then 
     s:=s+n;
   end if;  
 end loop;
 dbms_output.put_line(s);
end;

--作业:

--1、用for循环打印如下三角形
begin
  for i in 1..9
  loop
     for j in 1..i
     loop
       dbms_output.put('*');
     end loop;
     dbms_output.put_line('');--控制换行
  end loop;
end;
--2、九九乘法表
declare
 i integer;
 j integer;
begin
  for i in 1..9
  loop
     for j in 1..i
     loop
       dbms_output.put(j||'*'||i||'='||i*j||' ');
     end loop;
     dbms_output.put_line('');
  end loop;
end;

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值