TO 关键字表示范围运算符。范围由 left_expression 和 right_expression 定义,并且 STEP increment_expr 选项隐式地设置增量数。如果使用 TO 关键字,loop_var 必须是 INT 或 SMALLINT 数据类型。
FOR index_var IN (12 TO 21 STEP 2) -- statement block END FOR; FOR index_var = 12 TO 21 STEP 2 -- statement block END FOR;
如果省略 STEP 选项,则数据库服务器给予 increment_expr 的值为 -1 (如果 right_expression 小于 left_expression),或 +1 (如果 right_expression 大于 left_expression)。如果指定了 increment_expr ,则它必须为负数(如果 right_expression 小于 left_expression)或者正数(如果 right expression 大于 left_expression)。
FOR index IN (12 TO 21 STEP 1) -- statement block END FOR; FOR index = 12 TO 21 -- statement block END FOR;
数据库服务器将 loop_var 的值参数为 left_expression 的值。在后续迭代中,服务器将 increment_expr 添加到 loop_var 的值并检查 increment_expr 以确定 loop_var 值是否仍在 left_expression 和 right_expression 之间。如果这样,会发生下一迭代。否则,会发生循环退出。或者,如果指定另一范围,变量会具有下一范围中的第一个元素的值。