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

PostgreSQL Discussion :

Récupérer le dernier enregistrement d'une table avec conditions


Sujet :

PostgreSQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Récupérer le dernier enregistrement d'une table avec conditions
    Bonjour tout le monde.

    Voilà mon problème, je suis actuellement en train de développer un trigger avant insertion, et dans ce trigger, j'utilise un select pour récupérer certaines information.

    Voici le code où je récupère ces infos

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT heure,jour INTO Temps,Jourtemp
    FROM PositionGrille
    WHERE Anne = NEW.Anne
    AND NumeroSemaine = NEW.Ptg_Pgr_NumeroSemaine
    AND Numero = NEW.Numero
    AND Sqe_ID = NEW.Sqe_ID;
    Dans ma table, j'insère une heure, un jour, une année, un numéro de semaine, un numéro de séquence et enfin un identifiant de séquence.

    Le but de cette requête serait donc de récupérer le dernier enregistrement qui correspond parfaitement à ce que l'on veut insérer (là où l'année est la même, le numero de semaine, le numero etc etc ...) SAUF pour l'heure et le jour (je fais des tests ensuite pour déterminer si oui ou non l'insertion est valide mais cela est 100% fonctionnel).

    Récupérer l'heure et la date me permet de faire mes tests.

    Donc existe il un moyen d'avoir le dernier enregistrement selon des conditions que l'on défini par la suite dans la requête? (une sorte de max )

    C'est le seul soucis que j'ai pour finaliser ce trigger

    Le but général de ce trigger est de faire un calcul sur les horaires et les jours de la semaine.

    Merci beaucoup par avance pour votre aide.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par TikTak Voir le message
    Le but de cette requête serait donc de récupérer le dernier enregistrement
    Il faut déterminer quel critère fait que c'est "le dernier enregistrement" (ou plutôt la dernière ligne).
    Il n'y a pas d'ordre a priori dans une table de BDDR.
    C'est comme un sac de billes : Mettez des billes indifférentiables une a une dans un sac. Secouez le sac. retrouvez la dernière insérée !

    Le critère peut être l'identifiant maximum ou une colonne datetime dont la valeur est le CURRENT_TIMESTAMP au moment de l'insertion.

    PS : Votre requête, écrite telle qu'elle se présente dans votre message, passe sans problème dans Postgresql ? Pas de problème avec le mélange des majuscules et des minuscules ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. [2.x] Récupérer le dernier enregistrement d'une table
    Par khand dans le forum Symfony
    Réponses: 5
    Dernier message: 07/03/2012, 18h34
  2. Réponses: 3
    Dernier message: 25/06/2008, 15h21
  3. [MySQL] Récupérer le dernier enregistrement d'une table
    Par killuaster dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 02/03/2007, 11h55
  4. récupérer le dernier enregistrement d'une table
    Par kuhnden dans le forum Access
    Réponses: 4
    Dernier message: 21/02/2007, 21h47
  5. Récupérer dernier enregistrement d'une table?
    Par Invité dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 19/01/2004, 11h38

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