mit Array_append gibt mir Syntaxfehler beim Erstellen der PostgreSQL-Funktion

8

Hier ist der Code

%Vor%

Hier entwickle ich die Anfänge einer primären erzeugenden Funktion. Ich versuche es einfach zu bekommen, um die 'Anzahl' des Arrays zurückzugeben. Wenn ich also "7" in die Funktion übergebe, sollte ich [0, 1, 2, 3, 4, 5, 6] zurückholen.

Aber wenn ich versuche, diese Funktion zu erstellen, bekomme ich

%Vor%

Ich bin ein Neuling mit Postgres-Funktionen. Ich verstehe nicht, warum ich dieses Array nicht richtig funktionieren lassen kann.

Wiederum möchte ich nur dieses Array korrekt mit der 'aktuellen' Anzahl des Arrays füllen. (Es ist mehr, als mir zu helfen zu verstehen, dass es tatsächlich die Schleife korrekt ausführt und es korrekt zählt).

Danke für Ihre Hilfe.

    
StanM 13.03.2012, 00:27
quelle

1 Antwort

13

Aus dem Handbuch :

  

Funktion : array_append(anyarray, anyelement)
Rückgabetyp : anyarray
Beschreibung : fügt ein Element an das Ende von an ein Array

So gibt array_append ein Array zurück und Sie müssen diesen Rückgabewert etwas zuweisen. Außerdem denke ich, dass Sie array_to_string am Ende Ihrer Funktion haben wollen, nicht array_to_text . Und primes ist ein Array, also wollen Sie array_append(primes, mycount) , anstatt zu versuchen, an einen Eintrag in primes anzuhängen.

%Vor%

Ich weiß nicht, was Sie beabsichtigen mycount := count(primes); zu tun, vielleicht wollten Sie mycount := array_length(primes, 1); sagen, damit Sie eine Folge aufeinanderfolgender Ganzzahlen in primes erhalten.

    
mu is too short 13.03.2012, 08:15
quelle

Tags und Links