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

Oracle Discussion :

[Pl/Sql] Réutilisation de résultat


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut [Pl/Sql] Réutilisation de résultat
    Bonjour,

    sous oracle 9i, je souhaiterais dans une fonction stocker le résultat d'une requete (elle renvoie plusieur nombres),
    et ensuite utiliser chacun de ces nbres pour faire un traitement.

    j'ai procédé de la manière suivante

    ------------------
    for a in (select ident from mytable where ....)
    loop

    Traitement (en utilisant a)

    end loop
    ----------------
    ùmalheureusement, ca ne marche pas trop,
    alors je m'en remets a vos savoirs.

    d'avance merci

  2. #2
    Membre émérite
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Par défaut
    pour t'aider il faudrait du code pl/sql et une erreur

    je ne vois d'ailleurs pas l'appel à une fonction

  3. #3
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut
    Sorry,
    le code:

    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
    26
    27
    28
    29
    ---------------------------------------------------
    create or replacae function myfunction
    returne mytype pipelined
    is
    myrow mytype2:=mytype2(null, null, null);
    folio number(10);
     
    BEGIN
     
    FOR a IN (select ident from matable)
    LOOP
     
    For c IN (SELECT t1, t2, t3 FROM matable2 
                 WHERE t2=a)
    LOOP
    myrow.t1 := c.t1
    ...
     
    PIPE ROW(myrow);
    END LOOP;
    END LOOP;
    RETURN;
    END;
    /
     
    ---------------------------------------
     
    message d'erreur: 
    PLS-00382: expression is of wrong type.

  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


    "a" est un curseur, pas une colonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    FOR a IN (select ident from matable) 
    LOOP 
     
    For c IN (SELECT t1, t2, t3 FROM matable2 
    WHERE t2=a.ident)

  5. #5
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut
    Merci bcp

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/06/2006, 15h19
  2. [SQL] Nombre de résultats par pays
    Par flOZ dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/05/2006, 05h29
  3. [SQL server 2000] Résultat d'un checkdb
    Par Cyborg289 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 08/02/2006, 09h24
  4. Réponses: 3
    Dernier message: 11/01/2006, 18h35
  5. [SQL] Problème de résultat avec une requête
    Par raptorman dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/01/2006, 17h16

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