我无法从示例中立即找到它。我想在一个函数的循环中增加一个变量。
例如:
DECLARE iterator float4; BEGIN iterator = 1; while iterator < 999 ..... iterator ++; END;
怎么办呢?
我正在查看有关流控制的文档:http : //www.postgresql.org/docs/8.4/static/plpgsql-control- structures.html
而且它们似乎都与我无关,除非这些绝对是模拟递增变量的唯一方法。
要在plpgsql中增加变量:
iterator := iterator + 1;
没有++操作员。
++
在手册中正确修改了PL / pgSQL中循环的语法。
您的代码片段将像这样工作:
DECLARE iterator float4 := 1; -- we can init at declaration time BEGIN WHILE iterator < 999 LOOP iterator := iterator + 1; -- do stuff END LOOP; END;
FOR循环更简单,更快捷:
FOR
FOR i in 1 .. 999 -- i is integer automatically, not float4 LOOP -- do stuff END LOOP;
手册:
变量name将自动定义为类型,integer并且仅在循环内部存在(变量名的任何现有定义在循环内都会被忽略)。
name
integer