私は次のpgsqlプロシージャを書いています:
CREATE OR REPLACE FUNCTION KNN(gid_ integer)
RETURNS Text AS $body$
DECLARE
row_ RECORD;
BEGIN
SELECT g1.gid As SOURCE, g2.gid As Neighbors FROM polygons as g1, polygons as g2 WHERE g1.gid = $1 and g1.gid <> g2.gid ORDER BY g1.gid,
ST_Distance(g1.the_geom,g2.the_geom) limit 5;
END
$body$
LANGUAGE plpgsql;
クエリは、プロシージャに指定された引数の値ごとに 5 行を返します。これらの5行を返すにはどうすればよいですか。また、テーブル ポリゴンに列 gid として格納されている引数のすべての値に対して手順を実行するにはどうすればよいですか。誰か完全なコードを教えてください。ありがとうございます。