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 :

comment executer une requete avec une boucle?


Sujet :

PostgreSQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut comment executer une requete avec une boucle?
    Bonjour,
    Je souhaite exécuter une requête qui insère des données dans une table temporaire. Cette table temporaire sert de source pour l'exécution d'une deuxième requête qui fait également une insertion dans une table définitive après un calcul. Je souhaite faire une procédure qui enchaine ces 2 requêtes dans le style :

    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
     
    -- Function: CREATE OR REPLACE FUNCTION mafonction(id_indiv integer)
      RETURNS void AS
    $BODY$DECLARE id_indiv ALIAS FOR $1;
    BEGIN
     
    DROP TABLE tmp;
     
    -- requete1
    CREATE TABLE tmp AS
    SELECT * FROM matable WHERE matable.id = id_indiv;
     
    -- requete2
    INSERT INTO matablefinale (champ1, champ2, avg(champ3))
    SELECT champ1, champ2, champ3 
    FROM tmp
    GROUP BY champ1, champ2
    HAVING avg(champ3)>5
     
    END;$BODY$
      LANGUAGE 'plpgsql' VOLATILE;
    Je ne sais pas comment executer cette fonction en boucle. Je pensais faire un appel dans une requete, genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT mafonction(id_indiv) FROM unetable
    mais, ça ne fonctionne pas.

    Merci pour vos conseils...

    PS : je fais deux requetes car le volume de données est trop important.

  2. #2
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Points : 89
    Points
    89
    Par défaut
    Bonjour,
    tu veux boucler sur quoi ? Le nombre d'individus dans la table ?
    Poste nous le message d'erreur que tu as.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Faire une requete avec une jointure ramenant une base SQL et un ebase Oracle
    Par Clement M dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 22/12/2014, 14h13
  3. [MySQL] requete dans une table avec une varible d'une autre table
    Par kogoi dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/11/2011, 15h24
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  5. Réponses: 4
    Dernier message: 15/10/2009, 13h33

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