我遍历一个数组,并对数组值和键进行操作。自从PostgreSQL 9.1以来,有了foreach循环,因此数组值没有问题,但是否有一种优雅的方法来获取键?我找到的唯一解决方案是维护额外的变量:
CREATE OR REPLACE FUNCTION foobar( bar integer[] ) RETURNS integer AS $$
DECLARE
foo integer;
barkey integer;
BEGIN
barkey := 1;
FOREACH foo IN ARRAY bar LOOP
-- do some stuff using foo and barkey
barkey := barkey + 1;
END LOOP;
END;
$$ LANGUAGE plpgsql;
这是最好的解决方案吗?还是有更加优雅的方案可供选择?
/current
版本的手册,除非您想要引用特定版本。 - Erwin Brandstetter