bonjours tout le monde.

j'ai une table "personne" qui a comme colonnes: ID,chemin(geom) et position(geom).
ma première approche pour simuler une personne qui se déplace sur la carte et d'utiliser une fonction qui modifie la position de celle toutes les 10s(exemple) selon le chemin:
voici ma fonction sur postgresql


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 loop
  update personne as t1 set position=
(  SELECT ST_Line_Interpolate_Point (chemin, 
 
								 (counter*(select ST_Length(chemin:: geography) ))) from personne as t2 where t1.id=t2.id); 			
pg_sleep( 10) ; 
PERFORM dblink('connex','COMMIT;');
								  counter := counter + 1 ;
 
 
 
 END LOOP ;

mais le probleme est que ;quand je fais une requette select (touts les 10s) sur la colonne position ,elle me rend toujours le même résultat qui est avant le début de la boucle (loop) et quand ça c'est terminé elle me rend le dernier résultat .
or je veux récupérer le résultat toutes les 10s .je crois que la boucle met un verous sur la colonne jusqu'a ce qu'elle se termine.

ma question est ce qu'il y a une possibilité de récupérer la position toutes les 10s ou sinon est ce que quelqu'un peut m'aider avec une autre aproche .


je vous remercie aidez mois s'il vous plais