PL/SQL - 循环

  • 简述

    在本章中,我们将讨论 PL/SQL 中的循环。可能存在需要多次执行代码块的情况。通常,语句是按顺序执行的:首先执行函数中的第一条语句,然后是第二条,依此类推。
    编程语言提供了允许更复杂的执行路径的各种控制结构。
    循环语句允许我们多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式 -
    循环架构
    PL/SQL 提供以下类型的循环来处理循环需求。单击以下链接以检查其详细信息。
    序号 循环类型和描述
    1 PL/SQL 基本循环
    在此循环结构中,语句序列包含在 LOOP 和 END LOOP 语句之间。在每次迭代中,语句序列被执行,然后控制在循环的顶部恢复。
    2 PL/SQL WHILE 循环
    在给定条件为真时重复一个语句或一组语句。它在执行循环体之前测试条件。
    3 PL/SQL FOR 循环
    多次执行一系列语句并缩写管理循环变量的代码。
    4 PL/SQL 中的嵌套循环
    您可以在任何其他基本循环、while 或 for 循环中使用一个或多个循环。
  • 标记 PL/SQL 循环

    PL/SQL 循环可以被标记。标签应该用双尖括号(<< 和 >>)括起来,并出现在 LOOP 语句的开头。标签名称也可以出现在 LOOP 语句的末尾。您可以使用 EXIT 语句中的标签退出循环。
    以下程序说明了这个概念 -
    
    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 提示符下执行上述代码时,会产生以下结果 -
    
    i is: 1 and j is: 1 
    i is: 1 and j is: 2 
    i is: 1 and j is: 3 
    i is: 2 and j is: 1 
    i is: 2 and j is: 2 
    i is: 2 and j is: 3 
    i is: 3 and j is: 1 
    i is: 3 and j is: 2 
    i is: 3 and j is: 3  
    PL/SQL procedure successfully completed. 
    
  • 循环控制语句

    循环控制语句改变其正常顺序的执行。当执行离开范围时,在该范围内创建的所有自动对象都将被销毁。
    PL/SQL 支持以下控制语句。标记循环也有助于将控制带出循环。单击以下链接以查看其详细信息。
    序号 控制声明和描述
    1 EXIT 语句
    Exit 语句完成循环,控制权在 END LOOP 之后立即传递给该语句。
    2 CONTINUE 语句
    使循环跳过其主体的其余部分,并在重复之前立即重新测试其条件。
    3 GOTO 语句
    将控制转移到带标签的语句。尽管不建议在您的程序中使用 GOTO 语句。