codecamp

PL/SQL 循环

在本章中,我们将讨论和学习PL/SQL中的循环。当需要执行一段代码多次时可能会出现以下这种情况:一般来说,语句依次执行,首先执行函数中的第一个语句,然后执行第二个语句,依此类推。

编程语言提供了允许更复杂的执行路径的各种控制结构。

循环语句允许多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般流程图 -


PL/SQL提供以下类型的循环来处理循环需求。可点击以下链接查看每个循环类型如何使用。

编号 循环类型 描述
1 PL/SQL基本LOOP循环 在这个循环结构中,语句序列包含在LOOPEND LOOP语句之间。在每次迭代时,执行语句序列,然后在循环顶部继续控制。
2 PL/SQL while循环 当给定条件为真时,重复一个语句或一组语句。它在执行循环体之前测试状态。
3 PL/SQL for循环 多次执行一系列语句,并缩写管理循环变量的代码。
4 PL/SQL嵌套循环 可在任何其他基本循环中使用一个或多个循环,如:whilefor循环。

标记PL/SQL循环

在PL/SQL中,可以标记PL/SQL循环。标签使用双尖括号(<<和>>)括起来,并显示在LOOP语句的开头。标签名称也可以出现在LOOP语句的末尾。可以使用EXIT语句中的标签退出循环。

以下程序说明了这个概念 -

SET SERVEROUTPUT ON SIZE 1000000;
DECLARE 
   i number(1); 
   j number(1); 
BEGIN 
   << outer_loop >> 
   FOR i IN 1..3 LOOP 
      << inner_loop >> 
      FOR j IN 1..3 LOOP 
         dbms_output.put_line('i is: '|| i || ' and j is: ' || j); 
      END loop inner_loop; 
   END loop outer_loop; 
END; 
/
SQL

当上述代码在SQL提示符下执行时,它会产生以下结果 -


循环控制语句

循环控制语句从其正常顺序更改执行。当执行离开范围时,在该范围内创建的所有自动对象都将被销毁。

PL/SQL支持以下控制语句。标签循环也有助于控制环外的控制。点击以下链接查看它们的详细信息。

编号 控制语句 描述
1 EXIT语句 Exit语句完成循环,控制在END LOOP之后立即传递给语句。
2 CONTINUE语句 导致循环跳过其主体的剩余部分,并在重申之前立即重新测试其状态。
3 GOTO语句 转移控制到标记语句。虽然不建议在程序中使用GOTO语句。

 



PL/SQL 嵌套IF-THEN-ELSE语句
PL/SQL 基本LOOP循环
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }