FOR LOOP语句为循环索引的每个值运行一个或多个语句。
FOR LOOP头指定迭代器,迭代器指定一个迭代和迭代控件。迭代控件向迭代对象提供一系列值,以便在循环体中使用。循环体中有语句执行迭代的每一个值。
可用的迭代控制包括如下内容。
①Stepped Range:一种迭代控件,可生成一系列步进数值。当未指定步长时,计数控制是步长为1的integer类型的步长范围。
②单个表达式:计算单个表达式的迭代控件。
③重复表达式:重复计算单个表达式的迭代控件。
④游标:一个迭代控件,它从游标、游标变量或动态SQL生成所有记录。
FOR LOOP语句的索引或迭代数被隐式或显式声明为循环体本地的变量。
循环中的语句可以读取迭代的值,但不能更改它。循环体外的语句不能引用迭代。在FOR LOOP语句运行后,迭代数未定义。循环迭代数有时称为循环计数器。
示例2.14: 与变量同名的FOR LOOP语句索引。
如果FOR LOOP语句的索引与匿名块中声明的变量同名,则本地隐式声明会隐藏另一个声明,如本例所示,程序代码如下。
程序运行结果如下。
示例2.15: 具有相同索引名称的嵌套FOR LOOP语句。
功能描述: 在本例中,嵌套FOR LOOP语句的索引具有相同的名称。内循环通过使用外循环的标签引用外循环的索引。为清楚起见,内部循环还可以使用自身标签限定对本身索引的引用。
程序代码如下。
程序运行结果如下。