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

SQL Procédural MySQL Discussion :

Valeur d'un select dans une store pro


Sujet :

SQL Procédural MySQL

  1. #1
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 505
    Par défaut Valeur d'un select dans une store pro
    Bonjour,

    je suis complètement newbie dans les procédures de MySQL.

    Pour apprendre je tente de faire un sum sur un between de date.

    Pour remplacer le between je fais un while et incrémente la date.

    En même temps je fais un select SUM, mais je n'arrive pas à mettre le résultat dans une variable.

    Voici ce que je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    CREATE PROCEDURE jours(IN date1 date, IN date2 date)
    BEGIN
    DECLARE o BIGINT UNSIGNED DEFAULT 0;
    DECLARE i BIGINT DEFAULT 0;
     
            WHILE date1 < date2 DO
             SET i := SELECT SUM(heures_nbr) FROM `heures`  WHERE id_participant = 1  AND heures_date = date1;
             SET date1 := DATE_ADD(date1,INTERVAL 1 DAY);
             SET o := o + i ;                  
     
            END WHILE ;
    SELECT o ;
    END
    le SET i est apparemment mal écrit
    Merci de votre aide.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 505
    Par défaut
    J'ai trouvé

    Code : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    DELIMITER $$
     
    CREATE FUNCTION `jours2`(date1 date,date2 date) RETURNS BIGINT(100)
    BEGIN
      DECLARE resultat BIGINT(100)  DEFAULT 0;
      DECLARE iSum BIGINT;
     
    WHILE date1 <= date2 DO
        SELECT SUM(heures_nbr)
        INTO iSum 
        FROM heures 
        WHERE id_participant = 1
        AND heures_date = date1 ;
     
        IF (iSum IS NULL) THEN
            SET iSum = 0;
        ELSE
            SET resultat = iSum + resultat;
     
        END IF;
    SET date1 := DATE_ADD(date1,INTERVAL 1 DAY);
    END WHILE ;
     
        RETURN resultat;
     
    END$$

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

Discussions similaires

  1. DB2 - valeur d'un select dans une variable
    Par lucimed dans le forum DB2
    Réponses: 5
    Dernier message: 19/10/2011, 20h42
  2. Réponses: 6
    Dernier message: 23/03/2009, 15h40
  3. stokage de la valeur d'un select dans une variable .
    Par Halloula dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/01/2008, 11h46
  4. [formulaire] Récuperer la valeur d'un select dans une variable
    Par Despec dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 03/11/2006, 15h45
  5. [MySQL] Pb d'insertion d'une valeur de champ select dans une Bdd
    Par Mimisator dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 20/10/2005, 18h51

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