Cette fonction retourne pour l'espèce passée en paramètre (cd_noom) la liste des Observateurs classés par ordre alphabétique..
md.liste_noms_observateurs_espece(text)
le code du taxon (attribut cd_nom)
La liste des Observateurs classés par ordre alphabétique
CREATE OR REPLACE FUNCTION md.liste_noms_observateurs_espece(text) RETURNS text AS $BODY$ DECLARE myrec RECORD; var_cd_nom ALIAS FOR $1; var_liste_nom_observateur character varying DEFAULT ''; BEGIN FOR myrec IN SELECT TRIM(COALESCE(nom,'')||' '||COALESCE(prenom,'')) AS nom_prenom FROM md.personne WHERE code_personne IN (SELECT DISTINCT regexp_split_to_table(observateur, E'\&') FROM saisie.saisie_observation WHERE cd_nom = var_cd_nom) ORDER BY TRIM(COALESCE(nom,'')||' '||COALESCE(prenom,'')) ASC LOOP var_liste_nom_observateur:=var_liste_nom_observateur||', '||myrec.nom_prenom; END LOOP; RETURN substring(var_liste_nom_observateur FROM 3 FOR (length(var_liste_nom_observateur))::integer); END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION md.liste_noms_observateurs_espece(text) OWNER TO dba; SELECT md.liste_noms_observateurs_espece('65254');