Bonjour j'ai un nouveau petit problème (il y avait longtemps... ) :
Je voudrais renvoyer via une fonction le résultat d'une requête :
Mais j'ai une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE FUNCTION select_all(INTEGER) RETURNS RECORD AS ' DECLARE uni ALIAS FOR $1; rec RECORD; BEGIN SELECT INTO rec (SELECT g.gid_id AS GID, g.hugo AS HUGO, g.descr AS GID_DESCR, g.fam AS FAM, g.chrs AS GID_CHRS, h.hs_id AS UNIGENE, s.symb AS SYMB, d.descr AS DESCR, sd.chrs AS NCBI_CHRS FROM gids AS g LEFT OUTER JOIN gids_hs AS ghs USING(gid_id) LEFT OUTER JOIN hs AS h USING(hs_id) LEFT OUTER JOIN symbole_description AS sd USING(gid_id) LEFT OUTER JOIN symbole AS s USING(symb_id) LEFT OUTER JOIN description AS d USING(descr_id) WHERE h.hs_id = uni); RETURN rec; END; ' LANGUAGE 'PLPGSQL';
ERREUR: La sous-requête doit renvoyer une seule colonne [...]
Je n'arrive pas à manipuler des requêtes au sein d'une fonction, soit afin de renvoyer la requête entière, soit pour extraire les différents élements de ces requêtes.
Merci si vous pouvez m'aider.
Bonne soirée,
C. Tobini
Partager