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;