Bonjour,
Difficile de trouver l'info dans la jungle de réponse que provoque cette recherche.
J'ai une base de donnée Postgres 8.3 (avec extension postgis)
J'essasye de créer une fonction mais je bloque sur une erreur qui me fait me deamnder :
Est-ce que les array de types composés fonctionnent ?
Erreur à l'exécution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 CREATE TYPE seps_type AS (id BIGINT, structtyp INTEGER, the_geom geometry, elev INTEGER, featid BIGINT); CREATE OR REPLACE FUNCTION a_test() RETURNS INTEGER AS $$ DECLARE arr seps_type[]; BEGIN SELECT ARRAY(SELECT ps.id, ps.structtyp, ps.the_geom, se.elev, se.featid FROM bel_1_se se INNER JOIN bel_1_ps ps ON se.id = ps.id LIMIT 5) INTO arr ; RAISE NOTICE '1 %', array_upper(arr, 1); return 1; END; $$ LANGUAGE 'plpgsql'; SELECT a_test();
ERROR: subquery must return only one column
J'ai pourtant cru lire qu'en 8.3 ceci devrait fonctionner
Si non, quelle alternative ais-je pour pouvoir faire quelque chose dans ce goût là ? (Sachant que l'objectif est de pouvoir faire un bloc logique sur le résultat d'une requête similaire et que je ne connais pas d'autres alternative qu'une array pour ça.)
Merci![]()
Partager