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 :

Réutilisation de la fonction sample()


Sujet :

PL/SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 15
    Points : 13
    Points
    13
    Par défaut Réutilisation de la fonction sample()
    Bonjour,

    j'ai une question à propos de la fonction sample.
    Cette fonction permet d'extraire de manière aléatoire un échantillon d'une table.
    Je cherche à extraire un échantillon d'une table et à travailler dessus. La question que je me pose est la suivante. Est-ce qu'il y a une astuce pour travailler avec l'échantillon que j'ai extrait ou alors, je suis obligé de créer une table temporaire afin d'y enregistrer mes éléments extraits avec la fonction sample avant de travailler avec ces enregistrements ?

    Merci de votre réponse

    Rikko

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Le SAMPLE n'est qu'une option particulière de votre SELECT, donc votre question revient à se demander comment conserver le résultat d'un SELECT.

    - table temporaraire si le contenu doit être réutilisé plusieurs fois, mais dans la même session

    - table standard si le contenu doit être réutilisé dans des sessions différentes

    - WITH pour des accès au sein de la même requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    with t as (select * from scott.emp sample(40) )
      2  select ename, sal from t;
     
    ENAME             SAL
    ---------- ----------
    MARTIN           1250
    CLARK            2450
    KING             5000
    TURNER           1500
    ADAMS            1100
    JAMES             950
    MILLER           1300
     
    7 ligne(s) sélectionnée(s).
    - Le cache de résultats 11g n'est pas utilisable, car bien évidemment SAMPLE n'est pas déterministe.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Ok,
    c'est bien ce que je pensais. J'attendais juste un réponse pour savoir s'il y avait une astuce. J'ai ma réponse

    Merci !

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

Discussions similaires

  1. La fonction sample
    Par Indunil dans le forum R
    Réponses: 7
    Dernier message: 27/05/2013, 11h48
  2. Réponses: 0
    Dernier message: 18/04/2010, 18h51
  3. Réutiliser une fonction
    Par Serendipity dans le forum Langage
    Réponses: 4
    Dernier message: 27/10/2008, 18h20
  4. Meilleur moyen de réutiliser des fonctions dans Access ?
    Par generalgreg dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/10/2007, 21h42
  5. Réponses: 8
    Dernier message: 10/01/2007, 21h10

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