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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    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
    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 Expert 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

  3. #3
    Membre confirmé
    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
    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 confirmé

    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
    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

  5. #5
    Membre confirmé
    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
    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