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 :

Imbrication (curseur/boucle) parcours d'un enregistrement


Sujet :

PL/SQL Oracle

  1. #1
    Candidat au Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2015
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Imbrication (curseur/boucle) parcours d'un enregistrement
    Bonsoir, voila j'ai un petit (grand) problème. j'ai une table deplacement qui a pour attribut un type que j'ai définit ainsi qu'une collection. voila, j'essaye de parcourir cette collection qui est définit ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    employeCollection is table of ref employeType;
    la table a pour attribut donc: employe employeCollection;
    voila la requete que j'ai effectué:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    begin
     for record in (select employe from deplacement) loop
      dbms_output.put_line('1');
    end loop;
    end;
    donc la, j'ai pour affichage le nombre d'enregistrement 'collection' dans ma table.
    maintenant pour parcourir mes collections je bloque, j'ai essayé un bout de code en utilisant un curseur mais ca ne marche pas! j'ai essayé d' "initialisé" mon curseur à record et je le parcours à l'aide d'un fetch mais je dois dire que je ne suis pas bien encore familiarisé avec les curseurs.
    voila voilou, merci de bien vouloir m'aider.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Hello Weirdo,

    Je ne comprends pas trop l'intérêt de ta variable collection dans ce cas ci. TU n'as pas non plus besoin de curseur et de FETCH si tu utilises cette syntaxe.

    Je vais essayer d'être clair même si ce n'est pas toujours mon fort.

    Dans le code que tu as écrit dont voici un extrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for record in (select employe from deplacement) loop
    tu déclares un curseur implicite. Oracle gère quasiment tout pour toi :
    * Ouvre un curseur
    * Boucle sur chaque occurrence
    * Ferme le curseur

    C'est à dire qu'à priori dans ta variable "record" à chaque occurrence que trouve oracle tu auras un employe (structure de retour de ton SQL sous-jacent au FOR).

    Dans ce cas, si tu cherches a afficher le contenu de chaque employe, cela revient tout simplement à écrire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dbms_output.put_line(record.employe);
    Si ton employe est de type objet je peux difficilement t'aider. Je n'ai jamais fonctionné dans ce mode en Oracle. Mais j'essayerais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dbms_output.put_line(record.employe.nom_attribut_objet);
    En espérant t'avoir éclairé un peu.

    Cordialement,

    Bernard

  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
    Ca sera bien plus efficace si vous allez poster un jeu d'essaye complet contenant l'ensemble des objets crées (objet, collection, table, enregistrements dans cette table, etc.) ainsi que le résultat attendu.

Discussions similaires

  1. Boucle parcourant une matrice [graphe]
    Par Linu6 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 15/08/2008, 01h24
  2. Encore problème d'imbrication de boucles
    Par flora806 dans le forum Langage
    Réponses: 4
    Dernier message: 21/02/2008, 15h25
  3. Boucle pour insertion d'enregistrement
    Par chris81 dans le forum SQLite
    Réponses: 1
    Dernier message: 11/07/2007, 11h36
  4. Forcer le curseur dans le sélecteur d'enregistrements
    Par NOODLE02 dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/05/2007, 08h27
  5. boucle pour insérer des enregistrements
    Par roots_man dans le forum ASP
    Réponses: 7
    Dernier message: 05/10/2004, 09h28

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