3.plsql循环语句

1.循环的三种方式
  (1)LOOP -无条件循环loop
  (2)WHILE -根据条件循环
  (3)FOR -循环固定的次数
2.循环的三种退出条件
  (1)CONTINUE 退出本次循环,进入下一次循环
  (2)EXIT 退出当前循环
  (3)RETURN 退出执行程序(存储过程,方法,匿名块,declare)
--*************************
LOOP 循环
语法:
LOOP 
  PLSQL语句;
  EXIT WHEN 退出循环条件;
  循环控制语句;
END LOOP;
--*************************
WHILE 循环
语法:
WHILE 循环条件 LOOP
  循环体语句;
  循环控制语句;
END LOOP;
--*************************
FOR 循环
语法:
FOR 循环变量 IN [REVERSE] 集合|查询语句|游标变量 LOOP
  循环体语句;
END LOOP;
解释--REVERSE 循环体执行方向,不加则从头开始,加上反向
    --数字类型集合写法 minvalue..maxvalue 列:1..10
    --循环变量:不需要在declare中声明,类型根据in后面集合或者查询语句而定
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
举例:
loop 循环
DECLARE 
I NUMBER(2) :=3;
BEGIN
  LOOP
    --先执行一条语句
  DBMS_OUTPUT.PUT_LINE('i:'||I);
  EXIT WHEN I>6;
  DBMS_OUTPUT.PUT_LINE(I);
  I:=i+1;
  END LOOP;
END;
========
while 循环
DECLARE
I NUMBER :=1;
BEGIN 
  WHILE I<10 LOOP
    DBMS_OUTPUT.PUT_LINE('i:'||I);
    I:=I+1;
  END LOOP;
END;
===========
FOR 循环
--数字集
BEGIN 
  FOR I IN 1..20 LOOP --数字集
    DBMS_OUTPUT.PUT_LINE('i:'||I);
  END LOOP;
END;
--查询语句
begin
  for i in (select * from emp) loop --i是%ROWTYPE类型
  DBMS_OUTPUT.PUT_LINE(i.ename||'  '||i.hiredate);
  end loop;
end;
=========================
--三种退出方式
DECLARE 
I NUMBER(2) :=-5;
BEGIN
  LOOP
  DBMS_OUTPUT.PUT_LINE('i:'||I);
  EXIT WHEN I>10;
  I:=i+1;
  IF I=4 THEN
    DBMS_OUTPUT.PUT_LINE('进入下一个循环');
    CONTINUE;
  END IF;
  IF I=6 THEN
    DBMS_OUTPUT.PUT_LINE('退出当前循环');
    exit;
  END IF;
  IF I=8 THEN
    DBMS_OUTPUT.PUT_LINE('退出程序');
    return;
  END IF;
  DBMS_OUTPUT.PUT_LINE('没有退出循环');
  END LOOP;
END;
==============================
九九乘法表:
declare
A NUMBER :=9;
B NUMBER;
I NUMBER;
BEGIN
  FOR I IN 1..A LOOP
    FOR B IN 1..I LOOP
        DBMS_OUTPUT.PUT(RPAD(B||'*'||I||'='||I*B||' ',8,' '));
    END LOOP;
        DBMS_OUTPUT.PUT_LINE('');
  END LOOP;
END;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值