PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Erreur de syntaxe à ou près de USING

Je suppose que vous utilisez le champ VALUE dans un filtre ou quelque chose de similaire dans le mapfile (difficile à dire avec certitude sans mapfile). Ce filtre doit s'attendre à des noms de colonnes en majuscules et c'est pourquoi la requête d'origine avait également des noms de colonnes en majuscules :

select g.gid, g.geom, g.basin, a.\"DATE\", a.\"VALUE\" from.... 

Si oui, vous n'avez qu'à mettre en majuscule les colonnes renvoyées par votre procédure :

RETURNS table (
           gid integer,
           geom geometry(MultiPolygon,4326),
           basin double precision,
           "DATE" timestamptz,
           "VALUE" double precision
           )

N'oubliez pas que dans PostgreSql, la casse des noms de colonnes et de tables est importante si vous les entourez de guillemets doubles. Cette requête :

SELECT VALUE from ...

est indépendant de la casse, alors que celui-ci :

SELECT "VALUE" from ...

nécessite vraiment une table avec des noms de colonnes en majuscules. Et les tables avec des noms de colonnes en majuscules nécessitent des guillemets :

CREATE TABLE test ("VALUE" text, .....