Oracle 循环详解

版权声明:此博客仅用于学习,讨论,欢迎转载(请注明出处!) https://blog.csdn.net/qq_34745941/article/details/81277358

1、概念

1.1 循环是什么?

重复执行。

1.2 循环的作用?

1、以 遍历 的形式提取数据。
2、常与 游标一同处理数据

1.3 循环结构图

这里写图片描述

2、循环实例

2.1 for

【输出 9*9 乘法口诀】
DECLARE
   v_i NUMBER := 0;
   v_j NUMBER := 0;
BEGIN
   FOR v_i IN 1 .. 9 LOOP
      FOR v_j IN 1 .. v_i LOOP
         dbms_output.put(v_i || '×' || v_j || '=' || v_i * v_j);
         dbms_output.put('  ');
      END LOOP;
      dbms_output.new_line;
   END LOOP;
EXCEPTION
   WHEN OTHERS THEN
      dbms_output.put_line(SQLERRM);
END;

2.2 loop

【求 1~100 之间的偶数和,并输出】
DECLARE
   v_sum NUMBER := 0;
   v_i   NUMBER := 0;
BEGIN
   LOOP
      v_i := v_i + 1;
      EXIT WHEN v_i > 100;
      IF MOD(v_i, 2) = 0 THEN
         v_sum := v_sum + v_i;
      END IF;     
   END LOOP;
   dbms_output.put_line('1~100 之间的偶数和是: ' || v_sum);
EXCEPTION
   WHEN OTHERS THEN
      dbms_output.put_line(SQLERRM);
END;

2.3 while

【求循环执行的次数】
DECLARE
   v_i NUMBER := 5;
   v_num number := 0;
BEGIN
   WHILE v_i <= 9 LOOP
      v_num := v_num + 1;
      v_i := v_i + 1; -- 手动累加,较为麻烦。
   END LOOP;

   dbms_output.put_line('循环执行次数为:'||v_num);
EXCEPTION
   WHEN OTHERS THEN
      dbms_output.put_line(SQLERRM);
END;

3、退出循环实例

3.1 exit - 退出当前循环体

3.2 return - 退出当前过程/方法

3.3 continue - 退出本次循环,进入下一循环

猜你喜欢

转载自blog.csdn.net/qq_34745941/article/details/81277358
今日推荐