詳細なマニュアル から :
したがって、array_append
配列を返し、その戻り値を何かに割り当てる必要があります。また、array_to_string
が必要だと思います array_to_text
ではなく、関数の最後に 。そしてprimes
は配列なので、array_append(primes, mycount)
が必要です primes
のエントリに追加しようとするのではなく 。
CREATE OR REPLACE FUNCTION primes (IN integer) RETURNS TEXT AS $$
DECLARE
counter INTEGER = $1;
primes int [];
mycount int;
BEGIN
WHILE counter != 0 LOOP
mycount := count(primes);
primes := array_append(primes, mycount);
counter := counter - 1;
END LOOP;
RETURN array_to_string(primes, ',');
END;
$$ LANGUAGE 'plpgsql';
何を意図しているのかわかりませんmycount := count(primes);
つまり、mycount := array_length(primes, 1);
と言うつもりだったのかもしれません。 primes
で連続する整数のシーケンスを取得できるようにします 。