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

 Firebird Discussion :

recupération d'une donnée


Sujet :

Firebird

  1. #1
    Membre éclairé Avatar de alves1993
    Homme Profil pro
    Développeur Java/Dart/Javascript/Android (FullStack)
    Inscrit en
    Décembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java/Dart/Javascript/Android (FullStack)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 222
    Points : 659
    Points
    659
    Par défaut recupération d'une donnée
    salut a tous
    je voudrai crée une procédure stockée qui dans sa logique à besoins de récupérer une valeur d'une table
    Mais le problème est que je sais pas comment m'y prendre.
    j'ai essayer avec une simple instruction SELECT mais le code provoque une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    :encien_solde = select Bilan.solde from bilan  where ( Bilan.id_bilan = (SELECT   MAX (id_bilan) FROM Bilan ) );
    Pouvez vous m'aider.

    Cordialement....
    Un geek ne vieillit pas, il se met à jour.

    Pour plus d'informations sur Android regarder la faq Android.
    Ensuite les tutoriels Android sont disponibles ici
    Pour les mecs, qui n'arrivent pas toujours à digérer le Javascript, Dart peut-être une solution pour vous.

  2. #2
    Membre éclairé Avatar de alves1993
    Homme Profil pro
    Développeur Java/Dart/Javascript/Android (FullStack)
    Inscrit en
    Décembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java/Dart/Javascript/Android (FullStack)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 222
    Points : 659
    Points
    659
    Par défaut résolu
    Après quelques lectures intenses de la documentation de firebird j'ai trouvé la solution à mon problème

    le bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    begin
      if (EXISTS(select * From Bilan )) then
      begin
         select Bilan.solde from bilan  where ( Bilan.id_bilan = (SELECT   MAX (id_bilan) FROM Bilan ) ) :into encien_solde;
      end
      else
      begin
         encien_solde = 0;
      end
      suspend;
    end
    Un geek ne vieillit pas, il se met à jour.

    Pour plus d'informations sur Android regarder la faq Android.
    Ensuite les tutoriels Android sont disponibles ici
    Pour les mecs, qui n'arrivent pas toujours à digérer le Javascript, Dart peut-être une solution pour vous.

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    il y a peut être plus simple , surtout si id_bilan est unique et un index (comme le suggérerai son nom) et au vue de la procédure il faut que id_bilan soit unique.

    Du coup il n'y a peut être même plus besoin d'une procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT FIRST 1 COALESCE(SOLDE,0) AS ANCIEN_SOLDE FROM BILAN ORDER BY ID_BILAN DESC
    un peu d'explications ?
    FIRST 1 Permet de n'obtenir qu'un seul résultat l'équivalent de la clause "where ( Bilan.id_bilan = (SELECT MAX (id_bilan) FROM Bilan ) )"
    COALESCE(SOLDE,0) S'il n'y a aucun enregistrement (Solde=Null) alors ANCIEN_SOLDE=0
    ORDER BY ID_BILAN DESC permet de se positionner sur la valeur maximum de ID_BILAN en premier
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/03/2013, 20h23
  2. [WD-2003] Recupérer une donnée d'un fichier word !
    Par oko67 dans le forum VBA Word
    Réponses: 1
    Dernier message: 23/08/2011, 13h44
  3. Recupérer une données dans un fichier compliqué
    Par Newenda dans le forum MATLAB
    Réponses: 2
    Dernier message: 25/02/2011, 16h51
  4. Réponses: 2
    Dernier message: 28/02/2008, 15h39
  5. Recupérer une donnée avec un WHERE concernant la date
    Par benlasavate dans le forum Access
    Réponses: 1
    Dernier message: 23/01/2006, 08h18

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