当前位置:首页 > 编程笔记 > 正文
已解决

PL/SQL循环

来自网友在路上 157857提问 提问时间:2023-09-27 13:30:27阅读次数: 57

最佳答案 问答题库578位专家为你答疑解惑

目录

1. FOR 循环

-- FOR 循环的注意事项:

-- LOOP 循环

-- WHILE 循环

-- 总结: 

TIPS:

跳出循环指令


1. FOR 循环
FOR 循环变量 IN 循环下限..循环上线 LOOP-- 循环变量可以用任意的字母或者单词去替代循环执行的逻辑题END LOOP;

计算 1-100的累加值

DECLARE
V_TEXT VARCHAR2(1000):='';
BEGINFOR X IN 1..10 LOOPV_TEXT:=V_TEXT || 'O_0 ';DBMS_OUTPUT.put_line(V_TEXT);END LOOP;
END;
-- FOR 循环的注意事项:

1. 循环变量只能在循环体内引用.
2. 循环变量只能在 IN 上下限之间每次循环赋值,不能使用其他字句重新赋值
3. 循环体中间不能缺少字句,如果为了验证循环,可以加入一个 NULL;

BEGIN
FOR X IN 1..20 LOOPNULL;END LOOP;
END; 
-- LOOP 循环
DECLARE 
V_SUM NUMBER:=0;
BEGIN
LOOP V_SUM:=V_SUM+1;dbms_output.put_line(V_SUM);EXIT WHEN V_SUM=5;-- 如果这里不设定跳出循环条件,会陷入死循环dbms_output.put_line(V_SUM);END LOOP;
END;
-- WHILE 循环
DECLARE 
V_SUM NUMBER:=0;
BEGIN
WHILE V_SUM < 20 LOOPDBMS_OUTPUT.PUT_LINE(V_SUM);V_SUM:=V_SUM+1;
END LOOP;
END;
-- 总结: 

三种循环: 
-- FOR 循环,循环变量在下限和上限之间,迭代,循环达到上限的最后一次即可终止.

-- LOOP 循环, 循环无止境,直至符合循环跳出的条件,如果没有设定好条件,会陷入死循环

-- while 循环,要先设定符合的条件,才会进入循环,如果没有设定好条件,容易陷入死循环.

TIPS:

* 如果语句在循环中至少执行一次,一般使用 LOOP;
* 如果在每次开始重复时,都必须测试条件,一般使用 while 
* 如果重复次数已知, 一般使用 FOR 循环.

跳出循环指令

CONTINUE:使用CONTINUE语句可以跳过当前循环迭代并继续执行下一次循环

DECLARE i NUMBER := 1; 
BEGIN FOR i IN 1..5 LOOP IF i = 3 THEN CONTINUE; END IF; DBMS_OUTPUT.PUT_LINE('i = ' || i); END LOOP; 
END; 

EXIT:使用EXIT语句可以立即终止循环

DECLARE i NUMBER := 1; 
BEGIN FOR i IN 1..5 LOOP IF i = 3 THEN CONTINUE; END IF; DBMS_OUTPUT.PUT_LINE('i = ' || i); END LOOP; 
END; 

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"PL/SQL循环":http://eshow365.cn/6-14695-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!