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:
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:
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.