Bonjour,
Je découvre votre site et sa communauté qui pourront peut être m'aider.
Aujourd'hui, j'ai :
- un fichier de données fichiertoday.dat avec les clients d'une societe X,
- une table NOM_DE_LA_TABLE_TODAY où sont insérées ces données,
- un fichier SQL*Loader,
- un fichier de controle,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 LOAD DATA TRUNCATE INTO TABLE NOM_DE_LA_TABLE_TODAY FIELDS TERMINATED BY ";" TRAILING NULLCOLS ( DESCRIPTION DE LA TABLE NOM_DE_LA_TABLE_TODAY )
Sera à ma disposition demain, un deuxieme fichier (fichiertomorrow.dat) avec :
- le numéro des clients des sociétés X et Y qui ont signé un partenariat.
- le type de client (est chez 'X', est chez 'Y', est chez X et Y ('M'), est classe 'Z').
Ce fichier n'a pas d'en-tête de colonne.
Cette deuxieme colonne (type de client) n'existe pas dans fichiertoday.dat.
Extrait de fichiertomorrow.dat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 400000000007;X; 500000000006;Y; ...
Je cherche à réaliser une alimentation des données de la table NOM_DE_LA_TABLE_TODAY avec le fichier TEST fichiertomorrow.dat que j'ai à ma disposition.
Dans la table je souhaite avoir uniquement les clients typés 'X' et 'M'
Je veux donc modifier le (bon) fichier afin que demain cette table contienne l'ensemble des clients présents dans le 1er fichier qui sont topés 'X' et 'M' dans le 2nd fichier.
Voilà comment je pense les modifications ; en y ajoutant une condition WHEN afin de réaliser un équivalent de jointure entre les 2 fichiers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 LOAD DATA INFILE CHEMIN_D_ACCES/fichiertoday.dat INFILE CHEMIN_D_ACCES/fichiertomorrow.dat TRUNCATE INTO TABLE NOM_DE_LA_TABLE_TODAY WHEN COLONNE_2 IN ('X' , 'M') ### Comment sélectionner l'information de la 2e colonne ? FIELDS TERMINATED BY ";" TRAILING NULLCOLS ( DESCRIPTION DE LA TABLE NOM_DE_LA_TABLE_TODAY )
Pensez-vous que cette façon de procéder marchera ? Y a-t-il une autre manière de s'y prendre ...
car je pense qu'avec ça, des clients "bien" topés dans le fichier n°2 et absent dans le 1er seront ajoutés dans ma table sans leurs informations.
Merci d'avance pour votre aide.
Partager