Bonjour,

J'ai un souci avec un curseur. Je ne récupère que la dernière ligne de la requête que j'exécute ! Voici un exemple de code pour mieux comprendre:

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
CURSOR  cur_ma_table IS 
SELECT     * 
FROM        ma_table
WHERE      champ_1    =     val_1
ORDER BY  champ_1, champ_2;
...
FOR cur IN cur_ma_table
LOOP
      ...
      un traitement spécifique (pour formater champ_1 et champ_2)
      ...
      OPEN resulat FOR
           SELECT cur.champ_1, cur.champ_2
           FROM    DUAL;
END LOOP;
...
Tout se déroule bien, mais quand j'ouvre mon curseur "resultat", je ne trouve qu'une seule ligne (la dernière) alors que la requête ci-dessus retourne 4 lignes !!

Y a t-il un moyen pour ne pas écraser les autres lignes et bien remplir mon curseur "resulat" ?
Pour information, je dois utiliser la boucle FOR car mon "traitement spécifique" fait appel à des fonctions d'autres packages !

Merci d'avance