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 :

sqlloader, chargement (un peu) complexe


Sujet :

SQL*Loader Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 155
    Par défaut sqlloader, chargement (un peu) complexe
    Bonjour,


    J'ai cherché dans le forum oracle et je n'ai pas trouvé de solutions, mais je pense qu'il doit y en avoir une.

    Je charge classiquement des données dans une table par sqlloader, l'un des champs doit être renseigné par une certaine valeur (toujours la même) qui peut se trouver dans une variable globale oracle.

    Dans le ctl j'essaie de faire quelque chose comme :

    LOAD DATA
    REPLACE INTO TABLE TOTO
    FIELDS TERMINATED BY ';'
    TRAILING NULLCOLS
    (
    typenr,
    fill1,
    fill2,
    fill3,
    fill4,
    fill5,
    PERIODE "&1"
    )

    où &1 serait la variable globale, (ou si on pouvait passer ce paramètre à sqlloader directement ce serait aussi bien !).

    Bon ça ne fonctionne pas ainsi, que faire pour que ça marche ?

    Ca se passe avec oracle 10g

    Cordialement.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 155
    Par défaut
    pas de solutions ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 155
    Par défaut
    et supposons que la valeur à renseigner se trouve dans le 1er enregistrement, peut-on la récupérer et la mettre dans les autres enr. ?

  4. #4
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 176
    Par défaut
    Si j'etais toi, je ferais une mise a jour du champs 'PERIODE' de ma table 'TOTO', apres l'avoir charger
    ca peut etre une solution

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 155
    Par défaut
    Citation Envoyé par jejam
    Si j'etais toi, je ferais une mise a jour du champs 'PERIODE' de ma table 'TOTO', apres l'avoir charger
    ca peut etre une solution
    Je ferais bien ça, mais je perds le bénéfice du append/replace, la 'PERIODE' faisant partie de la clé de la table, le update planterait s'il y avait déjà des enr. ayant cette clé.

    Cordialement

  6. #6
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Regarde cet exemple
    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
    Can one modify data as it loads into the database?
    Data can be modified as it loads into the Oracle Database. Note that this only applies for the conventional load path and not for direct path loads. 
       LOAD DATA
       INFILE *
       INTO TABLE modified_data
       (  rec_no                      "my_db_sequence.nextval",
          region                      CONSTANT '31',
          time_loaded                 "to_char(SYSDATE, 'HH24:MI')",
          data1        POSITION(1:5)  ":data1/100",
          data2        POSITION(6:15) "upper(:data2)",
          data3        POSITION(16:22)"to_date(:data3, 'YYMMDD')"
       )
       BEGINDATA
       11111AAAAAAAAAA991201
       22222BBBBBBBBBB990112
     
       LOAD DATA
       INFILE 'mail_orders.txt'
       BADFILE 'bad_orders.txt'
       APPEND
       INTO TABLE mailing_list
       FIELDS TERMINATED BY ","
       (  addr,
          city,
          state,
          zipcode,
          mailing_addr   "decode(:mailing_addr, null, :addr, :mailing_addr)",
          mailing_city   "decode(:mailing_city, null, :city, :mailing_city)",
          mailing_state
       )
    Source : http://www.orafaq.com/faqloadr.htm

    Et tente de faire appel à une fonction qui retourne ta période

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

Discussions similaires

  1. Gérer un Formulaire un peu complexe pour moi
    Par budylove dans le forum Langage
    Réponses: 3
    Dernier message: 17/05/2006, 10h01
  2. Un Alignement un peu complexe
    Par Jeskor dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 27/04/2006, 17h04
  3. Requête de sélection un peu complexe
    Par new_wave dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/01/2006, 14h44
  4. sqlloader: chargement complexe
    Par slefevre01 dans le forum SQL*Loader
    Réponses: 3
    Dernier message: 06/10/2005, 11h20
  5. Requete un peu complexe avec la fonction IN
    Par Taichin dans le forum Oracle
    Réponses: 27
    Dernier message: 10/11/2004, 08h59

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