如何在Firebird 2.5存储过程中正确使用for循环?
Firebird 2.5存储过程数值循环的正确写法
Firebird 2.5不支持你写的FOR i = 1 TO 4 DO这种数值范围迭代的语法,它的FOR关键字仅用于遍历SELECT查询的结果集,所以解析器会把i识别为未知令牌报错。
要实现1到4的循环迭代,你需要改用WHILE循环配合变量自增来实现,正确代码如下:
CREATE procedure SAMPLE AS DECLARE VARIABLE i INTEGER; BEGIN i = 1; WHILE (i <= 4) DO BEGIN FOR SELECT * FROM YOUR_TABLE_NAME -- 替换为实际表名 DO SUSPEND; i = i + 1; -- 每次循环后自增变量 END END
说明:
- 先初始化变量
i为1 - 通过
WHILE (i <=4)判断循环是否继续 - 每次循环结束后执行
i = i +1,让变量逐步接近终止条件 - 记得把代码中的
YOUR_TABLE_NAME替换成你实际要查询的表名
内容的提问来源于stack exchange,提问作者Stack_Potter
相关产品推荐
相关产品推荐

