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

PL/SQL Oracle Discussion :

[PLSQL] CURSEUR + récuper une data


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 84
    Par défaut [PLSQL] CURSEUR + récuper une data
    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

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Vous pourriez charger vos enregistrements dans une collection avec BULK COLLECT. Ensuite, il suffit de jouer avec l'indice de la collection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For i in col.first .. col.last Loop
      afficher( col(i) ) ;
    End loop;

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/04/2008, 22h14
  2. [DBLookupComboBox] Avoir un curseur sur une DBLookupCoboBox
    Par webbulls dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/05/2004, 11h52
  3. Réponses: 15
    Dernier message: 26/03/2004, 17h53
  4. Obtenir la position du curseur dans une Image
    Par bastoune dans le forum Composants VCL
    Réponses: 6
    Dernier message: 14/11/2003, 21h02
  5. Récuperer une animation flash
    Par zoullou dans le forum Flash
    Réponses: 2
    Dernier message: 05/06/2003, 00h32

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