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 :

Faire l'économie d'une table avec PL/SQL


Sujet :

PL/SQL Oracle

  1. #1
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut Faire l'économie d'une table avec PL/SQL
    soit une opération en 2 étapes

    - alimentation d'une table à partir d'un fichier plat (venant de l'exterieur) avec sqlloader
    - constitution d'une 2ème table à partir de la 1ère avec tri et cumul

    Peut-on faire cette opération en 1 seule étape avec PL/SQL en économisant la 1ère table ?

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Oui en utilisant une table externe à la place de sqlloader (donc rien à voir avec le PL/SQL)

  3. #3
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    si j'ai bien lu un sujet trouvé sur un autre site, il faut toujours créer 2 tables, la 1ere étant toujours une table de travail.

  4. #4
    Membre chevronné
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Points : 1 878
    Points
    1 878
    Par défaut
    Tu peux économiser ta table intermédiaire en faisant une lecture séquentielle de ton fichier, mais tu auras toujours des problèmes de tri, de cumuls, etc.. à résoudre.
    De plus cette "économie" sera cher payée point de vue des perfs.


    Le fait de prendre un fichier et de le charger en brut(e) dans une table externe (ou via loader) n'est autre que la façon la plus optimisée de le faire..
    Peu de temps de chargement et la possibilité de manipuler tes données à souhait avant intégration dans la BDD.

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Oui mais il n'y a plus d'étape de chargement, après dépose du fichier on peut directement requêter le fichier et donc recharger la vrai table.
    Donc il n'y a plus qu'une seule étape.

    Les tables externes sont de loin ce qu'il y a de plus partique pour charger des fichiers, ensuite sqlloader et après le PL/SQL (si tant est que ce soit même considéré comme une option)

  6. #6
    Membre régulier
    Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2004
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2004
    Messages : 79
    Points : 105
    Points
    105
    Par défaut
    Pour réaliser le traitement que tu décrit je pense que skuatamad à raison.

    Table externe.
    Le hasard ne favorise que les esprits préparés.

  7. #7
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    Si j'ai bien compris, la table externe est une table "virtuelle" qui "disparait"
    dès le SQL terminé

    donc mes 2 "étapes" doivent être dans le même SQL

  8. #8
    Membre régulier
    Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2004
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2004
    Messages : 79
    Points : 105
    Points
    105
    Par défaut
    Non ce n'est pas une table virtuelle, c'est une table qui est basée sur fichier.
    Au niveau sql tu la vois comme une table sur laquel tu ne peux faire que du "select"
    Le hasard ne favorise que les esprits préparés.

Discussions similaires

  1. Faire apparaitre les différences de tables avec une jointure
    Par Nitromard dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 11/05/2011, 11h02
  2. faire une table avec plusieurs tables issues de base différentess
    Par adelsunwind dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 18/03/2009, 14h12
  3. Faire une table avec plusieurs
    Par FCL31 dans le forum Modélisation
    Réponses: 1
    Dernier message: 22/01/2008, 13h44
  4. Réponses: 0
    Dernier message: 16/11/2007, 09h05
  5. [Access] Nom d'une table avec un espace dans SQL
    Par Corsaire dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/04/2006, 15h50

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