Bonjour.

Je travaille sur un projet qui me demande de faire un fichier excel avec les data de la DB oracle 10g.
Il s'agit en fait d'un simple tableau que je dois générer.
Cependant, avec tout les paramètres à gauche et à droite, je suis amené à faire 15-20 procédures dans le même package.

Afin de me simplifier la vie dans le code, je voudrais couper la partie DATA de la partie mise en forme.
Je sais que j'ai toujours besoin de 32 champs mais qui peuvent changer de nom et d'ordre.
La solution est donc de donner des allias aux champs (flds1, flds2, flds3...).

Je les affiche comme tel :

row1 : flds1, flds2, flds3 ...
row2 : flds1, flds2, flds3 ...
...

via le code suivant

FOR r_curso in c_cursor()
LOOP
afficher champs (flds1)
afficher champs (flds2)
afficher champs (flds3)
... 32 fois
END LOOP;


Seulement, je voudrais aller plus loin
Au lieu d'afficher les 32 champs betement, je voudrais faire une boucle dans la boucle:

FOR r_curso in c_cursor()
LOOP
FOR x ... 32
afficher champs (flds x)
x := x + 1;
END LOOP;
END LOOP;

La question est la suivante : comment dire à r_cursor que je veux concaténer "flds" avec x ?
Comme pour faire r_cursor.flds||x, solution qui ne fonctionne pas bien sûr.

J'espère avoir été clair dans mes explications.

Merci de votre aide