orientdb数据库-PL/SQL for…loop循环语句

跨零代码为大家提供高品质的解决方案,请大家多多来访,跨零不胜感激,在此谢过。

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循环语句

  

从零到一,创造未来!跨零综合IT问题解决服务站,欢迎你的到来。Oracle数据库教程 plsql数据库/a> 只为你绽放。

本文固定链接: http://kua0.com/2019/05/08/orientdb数据库-pl-sql-for-loop循环语句/

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注