Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils
Outils Forum d'entraide sur les outils pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/12/2007, 19h16   #1
Membre régulier
 
Inscription : mars 2007
Messages : 78
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Suisse

Informations forums :
Inscription : mars 2007
Messages : 78
Points : 75
Points : 75
Par défaut [9i][SQL*LOADER] Alimentater une colonne depuis une autre colonne d'une autre ligne

Bonsoir,
Là je sèche

en entrée j'ai un fichier plat comme ceci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
0130006    00001EUR2 03410161000  191107201107193                                      0000467541307L                
0430006100000001EUR2 034101610000620110700191107ZZZZZZZZ ZZZZZZZZZZ1834859       ZZZZZZZ 0000069130000èZZZZZZZZ ZZZZZZZ
0430006100000001EUR2 034101610000620110700161107ZZZZZZZZ ZZZZZZZZZZ1834858       ZZZZZZZ 0000433720000èZZZZZZZZ ZZZZZZZ
0430006100000001EUR2 034101610000620110700201107ZZZZZZZZ ZZZZZZZZZZ1835077       ZZZZZZZ 0000020160000èZZZZZZZZ ZZZZZZZ 
0730006    00001EUR2 03410161000  201107                                                  0000990551307L
 
............ et ainsi de suite
01.............
04.............
04.............
04.............
07.............
01
04
04
......
07
j'ai un loader comme cela
qui alimente 3 table
selon le code_enr
Code :
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
31
32
 
LOAD DATA
APPEND
 
INTO TABLE XXGL_TYPE01
WHEN CODE_ENR = '01'
(
 CODE_ENR        POSITION(01:02)        CHAR,
 MACHIN           POSITION(13:17)        INTEGER EXTERNAL,
 TRUC              POSITION(22:26)        INTEGER EXTERNAL,
 ...........
 NUM_REC                                RECNUM
)
 
INTO TABLE XXGL_TYPE04
WHEN CODE_ENR = '04'
(
 CODE_ENR        POSITION(01:02)        CHAR,
 MACHIN           POSITION(13:17)        INTEGER EXTERNAL,
 PASDETRUC      POSITION(22:26)        INTEGER EXTERNAL,
 ...........
 NUM_REC                                RECNUM
)
 
INTO TABLE XXGL_TYPE07
WHEN CODE_ENR = '07'
(CODE_ENR        POSITION(01:02)        CHAR,
 MACHIN           POSITION(13:17)        INTEGER EXTERNAL,
 PASDETRUCNONPLUS      POSITION(22:26)        INTEGER EXTERNAL,
 ...........
 NUM_REC                                RECNUM
)
comme vous l'avez compris mon fichier est composé de groupe d'enregistrement commençant par les lignes en 01 et finissant par les lignes en 07.

Or j'aimerai alimenter le champs PASDETRUC des lignes de type 04 se trouvant entre 01 et 07 par le champs TRUC de la ligne 01.

or en écrivant ce post, je pense tout simplement que c'est impossible a faire dans mon loader.

bon a toute hasard si quelqu'un a quand même une solution miracle

sinon je le ferais autrement.

Merci
alx13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2007, 20h15   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par alx13 Voir le message
or en écrivant ce post, je pense tout simplement que c'est impossible a faire dans mon loader.
Tout juste... tu peux éventuellement faire une table externe pour alimenter très simplement la table cible
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2007, 10h00   #3
Membre régulier
 
Inscription : mars 2007
Messages : 78
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Suisse

Informations forums :
Inscription : mars 2007
Messages : 78
Points : 75
Points : 75
ok merci je vais essayé
alx13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h39.


 
 
 
 
Partenaires

Hébergement Web