특별한 이러한 목적을 위해 기능이있다 - array_fill :
이 등을 고려 PL/pgSQL의에서
postgres=# select array_fill(0, ARRAY[10]);
array_fill
-----------------------
{0,0,0,0,0,0,0,0,0,0}
(1 row)
postgres=# select array_fill('Hello'::text, ARRAY[10]);
array_fill
---------------------------------------------------------------
{Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello}
(1 row)
postgres=# select array_fill(0, ARRAY[3,3]);
array_fill
---------------------------
{{0,0,0},{0,0,0},{0,0,0}}
(1 row)
(하지만 100 개 항목 이상 (대형 배열 상당히 느립니다) :
DO $$
DECLARE
result int[] = '{}';
BEGIN
FOR i IN 1..10
LOOP
result := result || 0;
END LOOP;
RAISE NOTICE '%', result;
END;
$$;
그래서 당신은 동적 배열을 통해 루프를 배열을 만들려면 않습니다
당신은 또한 같은 배열의 집합을 반환 한 후 반복 기능을 만들 수 있습니까? 귀하의 모범에서 나는 분명하지 않습니다. 배열에 원소를 추가하기 위해서'array_append'를 사용할 수 있습니다. http://www.postgresql.org/docs/current/static/functions-array.html –