CREATE FUNCTION cen_liste_structure_finance_etude(integer) RETURNS text AS $_$ DECLARE lot_donnee_id_lot alias for $1; myrec RECORD; var_id_structure integer; var_nom_structure character varying(60); var_liste_structure character varying(255) DEFAULT 'Non mentionné pour l''instant'; BEGIN FOR myrec IN select lot_donnee.id_etude, structure.nom_structure, montant from lot_donnee join etude on lot_donnee.id_etude=etude.id_etude join structure_finance_etude on etude.id_etude=structure_finance_etude.id_etude join structure on structure_finance_etude.id_structure=structure.id_structure where id_lot=lot_donnee_id_lot AND nom_structure<>'Pas de structure' ORDER by montant desc, nom_structure LOOP var_nom_structure:=myrec.nom_structure; -- a ventiler dans les métadonnées var_liste_structure:=var_liste_structure||' et '||var_nom_structure; --RAISE NOTICE 'structure_courante : %', var_nom_structure ; --RAISE NOTICE 'liste : %', var_liste_structure ; END LOOP; RETURN ltrim(var_liste_structure,' et '); END; $_$ LANGUAGE plpgsql;