Fra den fine manual :
Så array_append
returnerer et array, og du skal tildele denne returværdi til noget. Jeg tror også, du vil have array_to_string
i slutningen af din funktion, ikke array_to_text
. Og primes
er et array, så du vil have array_append(primes, mycount)
i stedet for at forsøge at tilføje til en post i 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';
Jeg ved ikke, hvad du agter mycount := count(primes);
at gøre, mente du måske at sige mycount := array_length(primes, 1);
så du får en sekvens af på hinanden følgende heltal i primes
.