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 :

[select & function/procedure] (intégré FAQ 150 QR)


Sujet :

Oracle

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 379
    Points : 376
    Points
    376
    Par défaut [select & function/procedure] (intégré FAQ 150 QR)
    Hello,

    en firebird il est possible de construire une procédure stockée qui retourne un ensemble de données (plusieurs enregistrements) grace à une commande "suspend", pex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    create procedure foo returns( v1 integer, v2 integer)
    is
    begin
      v1 = 1;
      v2 = 10;
      suspend;
     
      v1 = 2;
      v2 = 20;
      suspend;
    end
    lecture: "select * from foo"
    resultats:existe t'il en oracle la même possibilité??
    merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    oui, par exemple : http://www.developpez.net/forums/vie...=return+cursor

    Recherche : return cursor

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 379
    Points : 376
    Points
    376
    Par défaut
    merci orafrance.

    ci-dessous la solution fonctionnelle qui retourne les réponses attendues dans ma demande:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    CREATE OR REPLACE TYPE TRecFoo IS OBJECT
    (
      V1 NUMBER,
      V2 NUMBER
    );
    /
     
     
    CREATE OR REPLACE TYPE TabTRecFoo IS TABLE OF TRecFoo;
    /
     
     
    CREATE OR REPLACE FUNCTION FOO
      RETURN TabTRecFoo
    IS
      Result TabTRecFoo := TabTRecFoo();
    BEGIN
     
      -- Ajoute 1 élément en fin du tableau (la table)
      Result.Extend;
     
      -- Initialise cet élément
      Result(Result.Last) := TRecFoo( 1, 10 );
     
     
      -- 2ème élément
      Result.Extend;
      Result(Result.Last) := TRecFoo( 2, 20 );
     
      -- Retourne le tableau
      RETURN Result;
     
    END;
    /
     
    -- Affichage de l'ensemble de données: 1 et 10, 2 et 20
    SELECT * FROM TABLE( Foo );
     
    QUIT;
    cet exemple peut-être mis dans un script sql et passé à la moulinette avec la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlplus usr/password@sid @script.sql
    merci pour le coup de pouce.

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/12/2006, 08h54
  2. PL/SQL Comment émuler RAND( a )? (intégré FAQ 150 QR)
    Par Jean_Benoit dans le forum PL/SQL
    Réponses: 4
    Dernier message: 20/11/2006, 15h31
  3. Réponses: 4
    Dernier message: 08/06/2006, 09h26
  4. Réponses: 3
    Dernier message: 23/11/2005, 15h28
  5. [FORMS] Chemin des icones (intégré FAQ 150 QR)
    Par jerome62 dans le forum Forms
    Réponses: 2
    Dernier message: 30/07/2002, 08h32

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