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*Loader Oracle Discussion :

Insérer les mêmes valeurs dans plusieurs tables


Sujet :

SQL*Loader Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut Insérer les mêmes valeurs dans plusieurs tables
    Bonjour,
    Je suis débutante en SQL LOADER
    J'ai un fichier .csv, les champs sont séparés par ";"
    Je veux insérer les mêmes champs dans plusieurs tables.
    Par exemple:
    le fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    aa;bbbbbb;0000;cc
    dddd;eee;111;ffffff
    je veux que le premiers champ soit inséré dans Table1, Table2 et Table3
    deuxieme champ dans table1, 3eme champs dans la table2 et 4eme champ dans la table3

  2. #2
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 941
    Par défaut
    N'y aurait-t-il pas un problème de schéma relationel à la base de tes données d'entrée ?
    Essaye de voir si une mise à plat pourrait favoriser une meilleure compréhension du problème !

    .

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut
    Citation Envoyé par star Voir le message
    N'y aurait-t-il pas un problème de schéma relationel à la base de tes données d'entrée ?
    Essaye de voir si une mise à plat pourrait favoriser une meilleure compréhension du problème !

    .
    Merci pour ta réponse, euh je pense que tu n'as pas compris ma question je l'ai peut etre mal posés !!!?

  4. #4
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Par défaut
    Bonjour,

    Si j'ai bien compris l'énoncé, il faut utiliser un fichier de contrôle de ce type :

    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
     
    LOAD DATA
    TRUNCATE
    INTO TABLE OWNER.TABLE1_NAME
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
      (CHAMP1,
       CHAMP2,
       CHAMP3 FILLER,
       CHAMP4 FILLER
       )
    INTO TABLE OWNER.TABLE2_NAME
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
      (CHAMP1 POSITION(1),
       CHAMP2 FILLER,
       CHAMP3,
       CHAMP4 FILLER
       )
    INTO TABLE OWNER.TABLE3_NAME
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
      (CHAMP1 POSITION(1),
       CHAMP2 FILLER,
       CHAMP3 FILLER,
       CHAMP4
       )
     
    --FILLER : Indique que le champ n'est pas à charger
    --POSITION(1) : Indique qu'il faut reprendre au début de l'enregistrement

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut
    Merci AntoineAnge, c'est une solution mais je ne peux pas l'appliquer j'ai un fichier de donnée de 187 lignes et 610 colonnes

    J'ai essayé avec BOUNDFILLER mais ça ne marche pas quand je change de table. Quand je fais ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    INTO TABLE OWNER.TABLE1_NAME
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
      (val BOUNDFILLER
      .....
       )
    INTO TABLE OWNER.TABLE2_NAME
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
      (CHAMP1 :val   
       ...
       )
    il ne reconnait pas val

  6. #6
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Par défaut
    Bonjour,

    Le paramètre BOUNDFILLER permet de ne pas charger un champ et d'indiquer que son contenu sera utilisé pour alimenter une colonne suivante.
    Voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    LOAD DATA
    TRUNCATE
    INTO TABLE OWNER.TABLE_NAME
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
      (
       CHAMP1 BOUNDFILLER,               --Le 1er champ n'est pas chargé
       CHAMP2 ":CHAMP1||:CHAMP2"     --Le 2ème champ est chargé avec
       )                                            --la concaténation des 2 premiers champs
    Quand à votre problème, pouvez-vous me donner plus de détails.
    Je n'arrive pas à comprendre l'incidence du nombre de champs sur la solution proposée.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/12/2008, 12h49
  2. Réponses: 7
    Dernier message: 27/08/2008, 17h01
  3. utiliser les mêmes variable dans plusieurs class
    Par hterrolle dans le forum Langage
    Réponses: 2
    Dernier message: 16/11/2007, 21h11
  4. Réponses: 1
    Dernier message: 27/10/2006, 12h17
  5. [MS SQL] Remplacer des valeurs dans plusieurs tables
    Par salmoliv dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/10/2006, 17h31

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