PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 03/04/2019 12:27:29

duple
Membre

current_timestamp dans boucle non prise en compte

Bonjour,
J'utilise pg 9.6.
J'ai le petit script ci-dessous:
Do $$
DECLARE

    v_time timestamp;
    v_time_end timestamp;

BEGIN

SELECT current_timestamp INTO v_time;
v_time_end := v_time + interval '5 seconds';

LOOP

    SELECT current_timestamp INTO v_time;

    RAISE NOTICE 'v_time : % ---- v_time_end : %',v_time, v_time_end;
   
    EXIT WHEN v_time> v_time_end;
END LOOP;

END;
$$ LANGUAGE plpgsql;

Quelqu'un peut me dire pourquoi ce script rentre dans une boucle infinie et la condition     EXIT WHEN v_time> v_time_end; n'est pas prise en compte.
Plus précisement la valeur v_time n'est pas raffraichier et     SELECT current_timestamp INTO v_time à l'interieur du boucle n'est pas prise en compte ?

Merci de votre attention

Hors ligne

#2 03/04/2019 13:42:28

dverite
Membre

Re : current_timestamp dans boucle non prise en compte

current_timestamp() est l'horodatage du début de la transaction, donc il ne change pas pendant une transaction.

C'est clock_timestamp() que vous voulez ici.

Voir https://docs.postgresql.fr/11/functions-datetime.html

Hors ligne

#3 03/04/2019 14:28:59

duple
Membre

Re : current_timestamp dans boucle non prise en compte

C'est vrai merci , çà à resolu le problème

Hors ligne

Pied de page des forums