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

SQL Oracle Discussion :

Retourner une table d'enregistrements


Sujet :

SQL Oracle

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 469
    Points : 167
    Points
    167
    Par défaut Retourner une table d'enregistrements
    bonjour à tous,

    je souhaite réaliser une fonction Oracle qui me retourne une liste d'enregistrements comme si on faisait un select.

    je voudrais que cela retourne une table avec 3 colonnes avec le premier un number et les deux autres des varchar2, et ma fonction remplirait ces champs et retournerait les enregsitrements

    Comment faut il procéder ?
    Faut il déclarr un type table de number, varchar2, varchar2

    Merci à tous car je suis perdu

  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 : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    recherche pipelined, par exemple : http://www.developpez.net/forums/sho...d.php?t=466325

    Mais une vue ne ferait-elle pas l'affaire ?

  3. #3
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 469
    Points : 167
    Points
    167
    Par défaut
    en fait puis je faire ceci

    déclarer une table avec des enregistremenst avec plusieurs colonne ?

    TYPE t1 IS TABLE of NUMBER, VARCHAR2(250), etc... INDEX BY BINARY_INTEGER ;

  4. #4
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Non. Il faut d'abord créer l'enregistrement ou l'objet et ensuite faire une table de ce nouveau type.

  5. #5
    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
    ou utiliser une fonction qui retourne un curseur
    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
     
    SQL> r
      1  create or replace procedure p_refCursor (
      2  p_refCur in out sys_refcursor )
      3  Is
      4  begin
      5    open p_refCur for select empno, ename, job from scott.emp;
      6  end;
      7*
     
    Procédure créée.
    SQL> variable x refcursor;
    SQL> exec p_refCursor(:x);
     
    Procédure PL/SQL terminée avec succès.
     
    SQL> print x
     
         EMPNO ENAME      JOB
    ---------- ---------- ---------
          7369 SMITH      CLERK
          7654 MARTIN     SALESMAN
          7782 CLARK      MANAGER
          7788 SCOTT      ANALYST
          7839 KING       PRESIDENT
          7844 TURNER     SALESMAN
          7876 ADAMS      CLERK
          7900 JAMES      CLERK
          7902 FORD       ANALYST
          7934 MILLER     CLERK
          8000 MARIUS     PROG
     
    11 ligne(s) sélectionnée(s).

Discussions similaires

  1. Retourner une table Access en VB
    Par theuma dans le forum VB.NET
    Réponses: 3
    Dernier message: 18/04/2011, 14h47
  2. Comment retourner une table par UDF (user-defined function) ?
    Par brpat dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 07/10/2009, 11h32
  3. Procédure stockée ou fonction retournant une table
    Par sessime dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 10/04/2008, 23h22
  4. Sous requête retournant une table
    Par tleboukaka dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/10/2007, 14h16
  5. Comment retourner une table !
    Par ptidoudou02 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 14/12/2004, 14h46

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