CREATE OR REPLACE FUNCTION cen_attribution_personne_auteur_point_faune(integer)
RETURNS integer AS
$BODY$
DECLARE
id_entite_courante alias FOR $1;
myrec RECORD;
var_ese_id_entite bigint;
var_chaine_auteur character varying;
var_individu_auteur character varying;
var_compteur integer;
BEGIN
FOR myrec IN SELECT CASE WHEN observateur IS NULL THEN 'ANONY' ELSE REPLACE(observateur,'$','&') END AS observateur FROM point_faune_a_importer WHERE id_entite=id_entite_courante LOOP
RAISE NOTICE 'nouvel ligne de résultat';
var_chaine_auteur:=myrec.observateur;
--RAISE NOTICE ' var_chaine_auteur %', var_chaine_auteur;
var_compteur:=1;
var_individu_auteur:=NULL;
LOOP
var_individu_auteur:=split_part(var_chaine_auteur,'&',var_compteur);
--RAISE NOTICE ' var_individu_auteur %', var_individu_auteur;
IF length(var_individu_auteur)=0 THEN EXIT;
END IF;
EXECUTE
$req$
INSERT INTO personne_est_auteur_donnee (id_entite, code_personne, ordre) VALUES ($req$||id_entite_courante||$req$, split_part('$req$||var_chaine_auteur||$req$','&','$req$||var_compteur||$req$'), $req$||var_compteur||$req$)
$req$;
--RAISE NOTICE ' ESE numéro %', id_entite_courante;
--RAISE NOTICE ' Auteur numéro %', var_compteur;
--RAISE NOTICE ' nouvel auteur attribué %', var_individu_auteur;
var_compteur:=var_compteur+1;
var_individu_auteur:=NULL;
--RAISE NOTICE 'compteur vaut maintenant : %', var_compteur;
END LOOP;
END LOOP;
RETURN 1;
END;
$BODY$
LANGUAGE 'plpgsql';