热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

PL/SQLfor...loop循环语句

FORLOOP语句是一种重复控制结构,可以有效地编写一个需要执行特定次数的循环。语法下面演示如何使用FORLOOP语句–FORcounterINinitial_value..fin

FOR LOOP语句是一种重复控制结构,可以有效地编写一个需要执行特定次数的循环。

语法

下面演示如何使用FOR LOOP语句 –

FOR counter IN initial_value .. final_value LOOP
sequence_of_statements;
END LOOP;

以下是FOR循环中的控制流程 –

  • 首先执行初始步骤,只执行一次。 此步骤允许声明和初始化任何循环控制变量。
  • 接下来,评估条件,即initial_value .. final_value。如果结果为TRUE,则执行循环的主体。如果结果为FALSE,则循环主体不执行,并且控制流程跳转到for循环之后的下一个语句。
  • 执行for循环的主体后,增加或减少计数器变量的值。
  • 现在再次评估条件。 如果计算为TRUE,则执行循环并且该过程重复(循环体,然后增量步,然后再次调节)。 条件变为FALSE后,FOR-LOOP终止。

以下是PL/SQL for循环的一些特殊特性 –

  • 循环变量或计数器的initial_valuefinal_value可以是文字,变量或表达式,但必须对数字求值。 否则,PL/SQL引发预定义的异常VALUE_ERROR
  • initial_value不必为1; 但是,循环计数器增量(或减量)必须为1
  • PL/SQL允许在运行时动态地确定循环范围。

示例

以下示例演示如何使用for循环 –

SET SERVEROUTPUT ON SIZE 100000;
DECLARE
a number(2);
BEGIN
FOR a in 10 .. 20 LOOP
dbms_output.put_line('value of a: ' || a);
END LOOP;
END;
/

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

《PL/SQL for...loop循环语句》

反转FOR LOOP语句

默认情况下,迭代从初始值到最终值,通常从下限到上限。但是也可以使用REVERSE关键字来反转这个顺序。 在这种情况下,迭代以另一种方式进行。每次迭代后,循环计数器递减。

但是,必须以升序(不降序)顺序写入范围界限。 以下程序说明了这一点 –

SET SERVEROUTPUT ON SIZE 100000;
DECLARE
a number(2) ;
BEGIN
FOR a IN REVERSE 10 .. 20 LOOP
dbms_output.put_line('value of a: ' || a);
END LOOP;
END;
/

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

《PL/SQL for...loop循环语句》


    推荐阅读
    author-avatar
    休息一下狂想曲
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有