您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

FOR 循环

FOR 循环用于迭代一组数据

语法:

FOR - IN 循环对一组数据进行迭代:

FOR  IN [REVERSE]  ..  DO [SEQUENTIAL EXECUTION][] []

END FOR

FOR - EACH 循环遍历游标读取的所有行:

FOR  AS  [] DO [SEQUENTIAL EXECUTION][] []

END FOR

::= ( [ { , }...] )

语法元素:

 ::= 

定义将包含循环值的变量。

REVERSE

如果指定,循环将按降序迭代。

 ::= 

定义循环的起始值。

 ::=  

定义循环的结束值。

 ::= !! SQLScript procedural statements

定义将要循环的过程语句。

描述:

FOR 循环迭代一系列数字值并将当前值按升序顺序绑定到变量 <loop-var>。迭代从值 开始,按 1 递增,直到 <loop-var> 等于

如果 大于 ,将不会对循环中的 求值。

示例

您可以在循环边界值中使用标量用户定义的函数,如以下示例所示。

CREATE PROCEDURE proc (out output1 TYPE1)LANGUAGE SQLSCRIPT

READS SQL DATA

AS

BEGIN

DECLARE pos INTEGER DEFAULT 0;

DECLARE i INTEGER;

FOR i IN 1..SUDF_ADD(1, 2) DO

pos = :pos + 1;

END FOR;

output1 = SELECT value FROM T1 where position = :i ;

END;