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 :

cursor Vs Column position


Sujet :

PL/SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 62
    Points : 40
    Points
    40
    Par défaut cursor Vs Column position
    Bonjour,
    j'utilise un curseur pour parcourir une table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    fetch curSelect bulk collect into liste;
    for i in liste.first.. liste.last loop
    ...
    liste(i).column1, liste(i).column2
    ....
    close curSelect;
    j'ai une table qui fait 200 colonnes, nommées toutes column_j (1<j<200)
    et quand j'ai tenté de récupérer via une autre boucle sur j:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    crtrTemp := 'column_'||to_char(j);
    IF liste(i).crtrTemp =...
    ca compile pas sur pl/sql dev au niveau du champ crtrTemp qu'il demande à définir (le type est VARCHAR, il est bon).
    j'ai vu qqch qui ressemblait à liste(i).column(j) avec google mais j'ai pas réussi à le faire marcher.
    est-ce qu'il y a un moyen de récupérer la valeur avec la position de la colonne, ou autrement.

    d'avance Merci

  2. #2
    Membre expérimenté Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Points : 1 332
    Points
    1 332

    asktom.oracle.com tahiti.oracle.com otn.oracle.com

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.


    phrase chinoise issue du Huainanzi

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 62
    Points : 40
    Points
    40
    Par défaut
    ça me donnera la même erreur, parce qu'en trouvant le nom de la colonne
    je devrais le passer toujours comme variable a ma boucle.
    il s'agit d'une table de 200 colonnes au même préfixe. donc je ne pourrais faire de traitement manuel, je suis obligé de faire une boucle.

    voici un bout du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    fetch curSelect bulk collect INTO liste;
    FOR i IN liste.first.. liste.last loop
      ...
      for j in 1.. 200 loop
        crtrTemp := 'column_'||to_char(j);
        IF liste(i).crtrTemp IS NOT NULL THEN
          .....
        END IF;
      end loop;
      ....
    end loop;
    close curSelect;
    voici l'erreur de compilation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Error: PLS-00302: component 'CTRTEMP' must be declared
    Line: 88
    Text: crtrTemp := liste(i).

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Tu ne peux pas utiliser le contenu d'une variable comme étant une variable.

    liste(i).crtrTemp sera toujours considéré par le compilateur comme la colonne crtrTemp du tableau liste
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 62
    Points : 40
    Points
    40
    Par défaut
    je pense que je vais faire un truc artisanal, du genre case (200 fois)
    pour avoir en sortie une variable (on sait jamais ça peut aider qqn)

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

Discussions similaires

  1. récuperer la position d'une valeur avec data cursor
    Par sdecorme dans le forum MATLAB
    Réponses: 14
    Dernier message: 28/08/2013, 12h22
  2. position/ajout cursor dans un contenteditable
    Par shadow578 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 10/12/2012, 16h00
  3. Position du cursor à partir d'une abscisse
    Par xavhawk dans le forum MATLAB
    Réponses: 3
    Dernier message: 22/07/2009, 15h19
  4. Obtenir la position du cursor (ports 0x3d4 et 0x3d5)
    Par spiner900 dans le forum Programmation d'OS
    Réponses: 3
    Dernier message: 28/01/2009, 23h51
  5. [C#] RichTextBox - cursor position
    Par Tips dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/09/2006, 13h43

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