IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes PostgreSQL Discussion :

Appel à time sans que l'heure ne change [11]


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 790
    Billets dans le blog
    1
    Par défaut Appel à time sans que l'heure ne change
    Bonjour à tous

    J'ai tenté en vain de créer une fonction qui récupère et affiche l'heure courante de façon répétée.

    Or malgré mes efforts et mes essais divers avec divers mots-clefs, l'heure ne change jamais

    Voici la fonction
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    drop function if exists "essai"(integer) cascade;
    create or replace function "essai"(nb integer)
    	returns void as $$
    -- Variables de travail
    declare
    	_cpt integer;
    	_data time;
    begin
    	-- Boucle d'appels
    	_cpt=1;
    	while _cpt <= nb loop
    		select localtime into _data;
    		raise info 'data=[%]', _data;
    		_cpt=_cpt+1;
    	end loop;
    end;
    $$ language "plpgsql" volatile;

    Lors d'un essai via select essai(5) je vois que l'heure ne change jamais. J'ai tenté now(), current_time et autres fonctions trouvées dans la doc mais rien à faire, l'heure affichée dans la boucle est toujours la même. Je sens que cela doit avoir quelque chose à voir avec les transactions (toute la boucle s'exécute dans une seule et unique transaction) mais j'aimerais bien que cela change à chaque tour de boucle.

    Y a-t-il un moyen ?

    Merci à tous.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  2. #2
    Membre chevronné Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 345
    Par défaut
    Effectivement, ces fonctions fixent la valeur en début de transaction, il faut utiliser clock_timestamp()

    https://www.w3resource.com/PostgreSQ...p-function.php

    A+

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 790
    Billets dans le blog
    1
    Par défaut
    Hé, merci de ton aide.
    Malheureusement clock_timestamp() est arrivé avec la v15 et moi je suis sous v14 (j'ai noté v11 dans mon topic car le préfixe du fofo ne monte pas plus haut).

    Et je n'ai pas la main sur le système sur lequel je tente cet essai (enfin si là suis chez-moi donc je peux mettre ce que je veux mais ensuite là où ça ira je ne pourrai pas choisir)

    Donc... ben pasdbol quoi

    Merci encore
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 054
    Par défaut
    La fonction clock_timestamp() existe bien en version 14 : https://doc.postgresql.fr/14/functio...TETIME-CURRENT
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 790
    Billets dans le blog
    1
    Par défaut
    Hé ben oui.
    Je n'arrive pas à comprendre comment j'ai pu ne pas la trouver dans la doc pdf (que j'avais pourtant consultée).
    Ou alors c'était une erreur de syntaxe.

    En tout cas effectivement elle répond parfaitement à ma demande.

    Merci à tous
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/02/2022, 14h12
  2. Réponses: 17
    Dernier message: 26/09/2015, 13h26
  3. vba me change la variable sans que je lui demande !
    Par Daniela_ dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/10/2013, 15h32
  4. Réponses: 2
    Dernier message: 02/07/2009, 11h35
  5. [Tableaux] Appeler une variable que si non NULL
    Par GarGamel55 dans le forum Langage
    Réponses: 6
    Dernier message: 08/10/2005, 14h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo