sql >> Database teknologi >  >> RDS >> PostgreSQL

at bruge Array_append giver mig syntaksfejl, når jeg opretter PostgreSQL-funktion

Fra den fine manual :

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 .




  1. MySQL-forbindelse kaster null reference

  2. udskrivning af en værdi af en variabel i postgresql

  3. Rails ignorerer konstanter i SQL SELECT-sætning

  4. Bedste måde at gemme ugentlige begivenheder i MySQL?