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';
creation_bdd/fonctions/fonctioncenattributionstructureauteurpointfaune.txt · Dernière modification: 2010/02/06 13:21 (modification externe)
www.chimeric.de Creative Commons License Valid CSS Propulsé par DokuWiki Get firefox!! Changements récents - flux RSS Valid XHTML 1.0 Hébergé par Alwaysdata