cs_dexter02
Messages postés1Date d'inscriptionmardi 10 mars 2009StatutMembreDernière intervention 3 juin 2009
-
3 juin 2009 à 11:41
nivsql
Messages postés159Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention14 décembre 2010
-
24 juin 2009 à 18:32
Bonjour
sous oracle 10g
Je souhaite créer une procédure qui me remplit une table Stat_gain a partir de la table GAIN entre une Variable globale (V_GLOBAL_GAIN) qui contient la derniere date calculer et la date systeme-1 . j'ai essayé mais malheuresement sans resultat puisque je suis Débutant en SQL merci pour le coup de main ;)
BEGIN
select SYSDATE into la_date from dual;
while(D_GAIN<=la_date-1 and D_GAIN > V_GLOBAL_GAIN) Loop
INSERT INTO STAT_GAIN
( SELECT CODE_NIV ,D_GAIN ,RAISON ,SUM(NB_PTS)
FROM GAIN,COMPTE
WHERE GAIN.ID_COMPTE=COMPTE.ID_COMPTE
GROUP BY (RAISON,CODE_NIV,D_GAIN));
END LOOP;
END;
END;
/
le problème est lorsque j'execute l'insert seul sans procedure tout marche !!!!!!!!!!!!!!!!!!!
nivsql
Messages postés159Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention14 décembre 20101 24 juin 2009 à 18:32
Les boucles infinie c'est le mal !
Tu n'initialise pas ta variable D_GAIN, donc le teste de ta boucle While est toujours faux, bref tu n'entre jamais dans la boucle.
Pense a l'interieur de ta boucle a faire evoluer ta variable D_GAIN egalement car sinon tu sera enfermé dans une boucle infinie.