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

  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