大数据 SQL循环

BEGIN
DBMS_OUTPUT.put_line('123456');
DBMS_OUTPUT.put_line('123456');
DBMS_OUTPUT.put_line('123456');
DBMS_OUTPUT.put_line('123456');
DBMS_OUTPUT.put_line('123456');

END;


FOR   WHILE    LOOP 
----循环就是重复的执行 LOOP  到 END LOOP 之间的代码
---FOR 循环
FOR 循环变量 IN 循环下限..循环上限 LOOP  --循环变量可以用任意的字母或者单词
--循环体(要重复执行的逻辑)
 
END LOOP;
-------------------------------------
DECLARE 
 
BEGIN 
  FOR I IN 1..6 LOOP
        DBMS_OUTPUT.put_line('第' || I ||'次循环');
        DBMS_OUTPUT.put_line('123456');
        DBMS_OUTPUT.put_line('  ');
  END LOOP;

END;


--1 到 10 的累加值;
1 +2 +3+....+10  

DECLARE 
  V_SUM NUMBER;
BEGIN 
  V_SUM := 0;
  
  FOR I IN 1..10 LOOP --1  2  3
     V_SUM := V_SUM + I;----1 3 6
  END LOOP;
  
  DBMS_OUTPUT.put_line(V_SUM);
END;


---练习
----计算 1 到 10 的数字中双数的累加值
--MOD(X,Y) x除以y的余数
DECLARE 
  V_SUM NUMBER;
BEGIN 
  V_SUM := 0;
  
  FOR I IN 1..10 LOOP --1  2  3
      IF MOD(I,2) = 0 THEN 
         V_SUM := V_SUM +I;
      END IF;
  END LOOP;
  
  DBMS_OUTPUT.put_line(V_SUM);
END;

--XIEFA 2
DECLARE 
  V_SUM NUMBER;
BEGIN 
  V_SUM := 0;
  
  FOR I IN 1..5 LOOP 
     V_SUM := V_SUM + I*2;
  END LOOP;
  
  DBMS_OUTPUT.put_line(V_SUM);
END;

-------------------------------------------

---LOOP循环:
--语法结构
DECLARE
  --声明
BEGIN
  LOOP
    --循环体(重复要执行的逻辑)
    /*EXIT WHEN 
       跳出该循环的条件;*/
    IF 跳出该循环的条件 THEN
      EXIT; --强制终止循环
    END IF;
  END LOOP;
END;


--1 到 10 的累加值;
1 +2 +3+....+10  
DECLARE 
 V_SUM NUMBER;
 V_I   NUMBER;  ---先声明一个控制循环次数的变量
BEGIN 
 V_SUM := 0;
 V_I :=1;
 
 LOOP--V_I: 1  2   3...9   10
   V_SUM := V_SUM + V_I; --V_SUM : 1  3  6  10...45  55
   
   IF V_I= 10 THEN 
      EXIT;
   END IF;
   ----每次循环结束的时候,要记得给循环变量加 1 
   V_I := V_I +1;--V_I: 2 3 4...10
 END LOOP;
 
 DBMS_OUTPUT.put_line(V_SUM);
END;


---WHILE 循环
--语法结构
DECLARE
   
BEGIN
  WHILE 进入循环的条件 LOOP
    --循环体(重复要执行的逻辑)
  END LOOP;
END;


--1 到 10 的累加值;
1 +2 +3+....+10  
DECLARE 
 V_SUM NUMBER;
 V_I   NUMBER;  ---先声明一个控制循环次数的变量
BEGIN 
 V_SUM := 0;
 V_I :=1;
 WHILE V_I<=10 LOOP
    V_SUM := V_SUM + V_I;
   ----每次循环结束的时候,要记得给循环变量加 1 
    V_I := V_I +1;
 END LOOP;
 
 DBMS_OUTPUT.put_line(V_SUM);
END;


--用 LOOP 或者 WHILE 循环计算 1到 10 双数的累加
---loop

DECLARE 
 V_SUM NUMBER;
 V_I   NUMBER;  ---先声明一个控制循环次数的变量
BEGIN 
 V_SUM := 0;
 V_I :=1;
 
 LOOP--V_I: 1  2   3...9   10
   
   IF MOD(V_I,2) = 0 THEN 
       V_SUM := V_SUM + V_I; 
   END IF;
   
   IF V_I= 10 THEN 
      EXIT;
   END IF;
   ----每次循环结束的时候,要记得给循环变量加 1 
   V_I := V_I +1;--V_I: 2 3 4...10
 END LOOP;
 
 DBMS_OUTPUT.put_line(V_SUM);
END;

--WHILE 
DECLARE 
 V_SUM NUMBER;
 V_I   NUMBER;  ---先声明一个控制循环次数的变量
BEGIN 
 V_SUM := 0;
 V_I :=1;
 WHILE V_I<=10 LOOP
    IF MOD(V_I,2) = 0 THEN 
       V_SUM := V_SUM + V_I;
    END IF;
   ----每次循环结束的时候,要记得给循环变量加 1 
    V_I := V_I +1;
 END LOOP;
 
 DBMS_OUTPUT.put_line(V_SUM);
END;
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值