Ich versuche, eine Funktion in PL \ pgSQL prozedurale Sprache von zwei geometrischen Datentypen, Multipoint und Multiline-String zum Beispiel zu erstellen. Ich möchte alle Linien innerhalb von 30 Metern Entfernung für alle Punkte auswählen. Hier ist, was ich versucht habe:Verwenden von Geometrie in PL pgSQL-Funktionen?
Create OR Replace Function get_streets(bar.geom geometry foo.geom geometry)
Returns geometry AS $$
BEGIN
IF ST_DWithin(bar.geom, foo.geom, 30.0) Then
Return foo.geom;
ELSE
Return null;
END IF
Return foo.geom;
END;
$$ Language plpgsql;
Die Funktion gibt einen Fehler wegen der Geometrie Datentyp zurück. Irgendwelche Tipps zur Verwendung/Handhabung von Geometriedaten in plpgsql-Funktionen?
Vielen Dank. Ich korrigierte die Syntax nach Ihrem Vorschlag und es hat funktioniert! Ja, mir ist ein alternativer Ansatz für die direkte Abfrage bekannt. Trotzdem war ich mehr daran interessiert, es nach "plpgsql" zu machen. Danke auch für den alternativen Ansatz. –