【发布时间】:2014-07-02 05:47:30
【问题描述】:
我遍历一个数组,并对数组值和它的键做一些事情。由于PostgreSQL 9.1有foreach循环,所以数组值没有问题,但是有什么优雅的方法来获取key吗?我发现的唯一解决方案是为此维护额外的变量:
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;
这是最好的解决方案,还是有更优雅的方法?
【问题讨论】:
标签: arrays postgresql loops foreach plpgsql