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 :

Interroger une collection


Sujet :

PL/SQL Oracle

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut Interroger une collection
    Bonjour.

    J'ai le même besoin que dans ce sujet. Les colonnes de ma collection sont numérotées, et j'aimerais les parcourir de façon dynamique.
    Je n'ai pas bien compris la réponse dans le sujet en lien.

    Quelqu'un peut-il m'éclairer sur une solution?

    Merci.

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    Je vois que le sujet a été remanié, je vais mettre un exemple.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    DECLARE
      TYPE t_rec_matable IS RECORD(
       v_col1 matable.col1%TYPE,
       v_col2 matable.col2%TYPE,
       v_col3 matable.col3%TYPE);
      
      TYPE tab_t_rec_matable IS TABLE OF t_rec_matable INDEX BY PLS_INTEGER;
      t_matable tab_t_rec_matable;
    
      v_toto V
    BEGIN
      SELECT col1, col2, col3
        BULK COLLECT INTO t_matable
        FROM matable;
    
      FOR i IN t_matable.FIRST..t_matable.LAST
      LOOP
        FOR j IN 1..3
        LOOP
          -- je mets un dbms pour l'exemple
          dbms_output.put_line (t_matable(i)."col(j)");
        END LOOP;
      END LOOP;
    END;
    /
    La question est donc: comment faire pour passer dynamiquement les différentes colonnes du tableau pour une même ligne? Que mettre à la place de "col(j)" (qui n'est qu'une écriture, pas un test)?

    Merci.

  3. #3
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Actuellement, en PL/SQL il n'est pas possible de traiter d'une manière générique les types record.

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    Bonjour mnitu.

    Avez-vous une solution pour contourner le problème, à défaut de le résoudre?
    Merci.

    NB: le but est de traiter les éléments de ce tableau pour renseigner un autre tableau qui sera inséré dans une autre table (via un FORALL).

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    J'ai contourné le problème en construisant mon premier tableau d'une autre façon (avec un UNPIVOT).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/03/2006, 07h21
  2. [VB6]Valeurs une collection renvoyée par la fonction d'une classe
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 30/03/2004, 11h04
  3. [VB6] Sauvegarder une collection d'objets
    Par Sayagh dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 19/09/2003, 11h58
  4. Comment créér une collection sous Delphi
    Par PsyKroPack dans le forum Langage
    Réponses: 6
    Dernier message: 11/02/2003, 13h20
  5. [VB6] Modifier la clé d'un élément d'une collection
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h49

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