CREATE OR REPLACE FUNCTION cen_attribution_structure_auteur_point_faune(integer)
RETURNS integer AS
$BODY$
DECLARE
id_entite_courante alias FOR $1;
myrec RECORD;
var_ese_id_entite bigint;
var_chaine_structure character varying;
var_structure_auteur character varying;
var_compteur integer;
BEGIN
FOR myrec IN SELECT CASE WHEN structure IS NULL THEN '' ELSE REPLACE(structure,'$','&') END AS structure FROM point_faune_a_importer WHERE id_entite=id_entite_courante LOOP
RAISE NOTICE 'nouvel ligne de résultat';
var_chaine_structure:=myrec.structure;
--RAISE NOTICE ' var_chaine_structure %', var_chaine_structure;
var_compteur:=1;
var_structure_auteur:=NULL;
LOOP
var_structure_auteur:=split_part(var_chaine_structure,'&',var_compteur);
--RAISE NOTICE ' var_structure_auteur %', var_structure_auteur;
IF length(var_structure_auteur)=0 THEN EXIT;
END IF;
EXECUTE
$req$
INSERT INTO structure_est_auteur_donnee (id_entite, code_structure, ordre) VALUES ($req$||id_entite_courante||$req$, split_part('$req$||var_chaine_structure||$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_structure_auteur;
var_compteur:=var_compteur+1;
var_structure_auteur:=NULL;
--RAISE NOTICE 'compteur vaut maintenant : %', var_compteur;
END LOOP;
END LOOP;
RETURN 1;
END;
$BODY$
LANGUAGE 'plpgsql';