PLSQL -- 三种循环

循环控制

直接循环

   begin
      LOOP  
       循环体  ;
       终止循环的条件 ;
      END LOOP  ;
    END ;

while循环

WHILE 循环 
    BEGIN 
      WHILE 条件 LOOP
      END  LOOP;
    END ;

for 循环

FOR 循环
  BEGIN 
    FOR X IN  1..10 LOOP

    END LOOP;
  END;

执行1+2+3+…+100的值

1.使用loop循环实现

DECLARE 
   X  NUMBER(5) := 1 ;
   Y  NUMBER(5) := 0 ;
BEGIN 
DBMS_OUTPUT.PUT_LINE(X||' '||Y);
  DBMS_OUTPUT.PUT_LINE('loop循环开始:');
  LOOP 
   Y := X + Y ;
   X := X +1 ; 
    -- 终止循环的条件 有 ① 和 ② 2种写法。
    IF X > 100 THEN    --①   -- 常规的退出循环的写法
      EXIT;  -- 退出循环  
    END IF;
    -- EXIT WHEN  X > 100 ; -- ②   简写  ,跟 ①的效果一样的。
    --DBMS_OUTPUT.PUT_LINE('  '||X||' '||Y);
  END LOOP;
  DBMS_OUTPUT.PUT_LINE('循环结束');
  DBMS_OUTPUT.PUT_LINE('1~100的累加结果为:'||Y);
END ;

2.使用while循环实现

DECLARE
   X   NUMBER(5) := 0;
   Y   NUMBER(5) := 0;
BEGIN
  WHILE X < 100 LOOP
    X   := X + 1;
    Y := X + Y;
  END LOOP;
  DBMS_OUTPUT.PUT_LINE('RESULT IS :' || Y);
END;

3.FOR 循环

DECLARE
  X    NUMBER(3) := 0;
  Y    NUMBER := 0;
BEGIN
  FOR X IN 1 .. 100 LOOP 
    Y := Y + X;
  END LOOP;
  DBMS_OUTPUT.PUT_LINE('RESULT IS :' || Y);
END;

打印乘法口诀表

1.for循环 方法一

DECLARE 
  X  NUMBER ;
  Y  NUMBER ;
BEGIN 
  FOR  X IN 1..9 LOOP
    FOR Y IN 1..X LOOP
      DBMS_OUTPUT.put(X||'*'||Y||'='||X*Y||' ');
    END LOOP;
    DBMS_OUTPUT.new_line();
  END LOOP ;
END ;

在这里插入图片描述

2.for循环 方法二

DECLARE 
  X  NUMBER ;
  Y  NUMBER ;
BEGIN 
  FOR  X IN 1..9 LOOP
    FOR Y IN X..9 LOOP
      DBMS_OUTPUT.put(X||'*'||Y||'='||X*Y||' ');
    END LOOP;
    DBMS_OUTPUT.new_line();
  END LOOP ;
END ;

在这里插入图片描述

发布了27 篇原创文章 · 获赞 3 · 访问量 6546

猜你喜欢

转载自blog.csdn.net/ferlylao/article/details/104090057