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;
3.plsql循环语句
最新推荐文章于 2023-09-23 00:18:09 发布