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 :

Gestion des curseurs


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Expert Oracle
    Inscrit en
    Mai 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Expert Oracle

    Informations forums :
    Inscription : Mai 2009
    Messages : 92
    Par défaut Gestion des curseurs
    Salut tout le monde,

    J'ai un petit souci avec mon code mais que je n'arrive comme même pas à résoudre !!

    J'aimerais savoir comment faire pour insérer 2 curseurs dans un autre curseur englobant !

    En gros le résultat serait comme dans XML (notions de nodes):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <CURSEUR_RESULTAT>
     
       <CURSEUR_1>
          <DONNEE_11></DONNEE_11>
          <DONNEE_21></DONNEE_21>
       </CURSEUR_1>
     
       <CURSEUR_1>
          <DONNEE_12></DONNEE_12>
          <DONNEE_22></DONNEE_22>
       </CURSEUR_1>
     
    </CURSEUR_RESULTAT>
    Merci d'avance

  2. #2
    Expert confirmé 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
    Par défaut
    Comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Select deptno, cursor(select ename from emp e where e.deptno = d.deptno)
      from dept d
    mais, j'ai quelque doutes que c'est vraiment ça que vous avez besoin.

  3. #3
    Membre confirmé
    Homme Profil pro
    Expert Oracle
    Inscrit en
    Mai 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Expert Oracle

    Informations forums :
    Inscription : Mai 2009
    Messages : 92
    Par défaut
    Merci pour la réponse, malheureusement ce n'est pas ce que je cherche.

    Voici un exemple du code pour bien décrire le problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    OPEN CURSEUR_1 FOR
     SELECT * FROM TABLE_1;
     
    OPEN CURSEUR_2 FOR
     SELECT * FROM TABLE_2;
    Donc je remplis CURSEUR_1 et CURSEUR_2, et je voudrais maintenant que CURSEUR_RESULTAT contienne les 2 autres curseurs.

    J'ai voulu essayé quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    OPEN CURSEUR_RESULTAT FOR
     SELECT CURSEUR_1, CURSEUR_2 FROM DUAL;
    ça se compile bien mais quand j'exécute ça ne marche pas !

  4. #4
    Expert confirmé 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
    Par défaut
    Ca marche il n'y a pas de souci
    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
     
    declare
      rc1 sys_refcursor;
      rc2 sys_refcursor;
    --
      Cursor crs Is
        Select cursor(select * from emp) refc1,
               cursor(select * from dept) refc2
          from dual;    
    Begin
      Open crs;
      Fetch crs Into rc1, rc2;
      Close crs;
    End;  
    /
    Mais il faut bien faire attention par la suite pour manipuler ces curseurs

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

Discussions similaires

  1. [reseaux] Gestion des threads en perl
    Par totox17 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 28/11/2002, 09h40
  2. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44
  3. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  4. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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