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 :

requête argument depuis un fichier


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Par défaut requête argument depuis un fichier
    bonjour,

    J'aimerai savoir s'il est possible de créer une requête allant récupérerer des valeurs d'une clause depuis un fichier plat?

    par exemple;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from table_data where id in toto.txt
    toto.txt étant un fichier plat ayant une valeur par ligne
    ce qui revient donc à faire 3 requêtes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from table_data where id ='a1';
    select * from table_data where id ='a2';
    select * from table_data where id ='a3';
    l'intéret serait de le faire sur des gros fichiers.

    Merci d'avance pour votre aide

  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
    oui , tu peux accéder au contenu d'un fichier plat via du sql, au travers des external tables.

    1) créer une directory dans ta db qui pointe vers un filesystem

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create directory MYDIR as '/tmp/marc';
    2) déposer ton fichier plat monfichier.txt dans /tmp/marc

    3)créer l'external table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create table MYEXTTAB (myid number(3)) 
    organization external 
    type oracle_loader default directory MYDIR
    access parameters 
    (records delimited by newline
      fields (myid number(3)))
    location ('monfichier.txt');
    4) faire ta requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select 'select * from table_data where id=' ||myid||';'
    from MYEXTTAB;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Par défaut
    bonjour,

    merci pour ta réponse.
    Le pb est que je ne suis pas dba mais admin unix et par conséquent je ne possède pas de droit pour créer des tables.

    Comme tu l'as bien compris, le but de ma requête est de vérifier la présence des élements du fichier dans une table de la bdd.
    Et ca se complique à partir du moment ou le fichier fait des milliers de lignes.

  4. #4
    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
    tu n'as pas le droit de créer une table mais bien un accès hors applicatif à la db (via sql*plus par exemple) pour lancer des millliers de requêtes...

    à voir avec ton dba donc

  5. #5
    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
    j'ajouterais même que ta question est suspecte

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Par défaut
    non, je te rassure il n'ya aucune mauvaise intention derriere ma question.

    Le but était juste de me simplifier certaine tache fastidieuse.
    Aujourd'hui, je passe par un fichier excel et ca devient très lourd.

    Je vais donc voir avec mes dba.

    Merci d'avoir pris le temps de me lire.

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

Discussions similaires

  1. Lire une requête SQL depuis un fichier texte
    Par Chris L' Arabis dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 30/05/2014, 19h06
  2. pb d'insertion de données depuis un fichier externe-COPY
    Par boulou32 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 29/01/2005, 18h50
  3. [Applet][JAR]Charger une applet depuis un fichier jar
    Par CappCorp dans le forum Applets
    Réponses: 8
    Dernier message: 23/11/2004, 13h08
  4. afficher un bitmap 24/32 bits depuis un fichier
    Par cyber_N dans le forum MFC
    Réponses: 3
    Dernier message: 15/11/2004, 21h46
  5. comment tester la connexion depuis un fichier BATCH
    Par philippe_Aix dans le forum Oracle
    Réponses: 13
    Dernier message: 11/10/2004, 16h56

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