bonjour,
j'aimerais faire charger les mêmes données dans plusieurs tables:
LOAD DATA INFILE 'data.csv'
INTO TABLE DVP_LOADER
FIELDS TERMINATED BY ';'
( IDINTERNE "seq_TMP.nextval",
NOM
)
INTO TABLE DVP2_LOADER
FIELDS TERMINATED BY ';'
TRAILING NULLCOLS
(
b
TMP_ID "seq_TMP3.nextval"
)
sachant que j'ai
CREATE SEQUENCE seq_TMP MINVALUE 33 INCREMENT BY 1
CREATE SEQUENCE seq_TMP3 MINVALUE 33 INCREMENT BY 1
et qui donne
SQL> select * from dvp_loader ;
IDINTERNE NOM SALAIRE
-------------------- ----------
33 Jaouad
34 orafrance
35 léoanderson
36 bouyao
37 Nuke_y
38 sheikyerbouti
39 pomalaix
40 titides
41 aline
42 denisys
43 niourk
11 ligne(s) sélectionnée(s).
SQL> select * from dvp2_loader ;
A B TMP_ID
-------------------- -------------------------
100 33
200 34
300 35
400 36
500 37
600 38
700 39
800 40
900 41
1000 42
1100 43
11 ligne(s) sélectionnée(s).
Ma question est si j'utilise parallel=TRUE, est que SQLLOADER veroulle bien DEUX tables pour insérer chauqe ligne de 'data.csv' ou il gère comme il peut, cad verrouille une seule table à la fois
Je veux dire par là c'est qu'il faut absolument j'ai dvp2_loader.TMP_ID = DVP_LOADER.idinterne exactement comme une ligne dans 'data.csv' (relation clé étrangère=clé primaire). S'il verrouille une seule table à la fois (non les 2 tables), je peux avoir les lignes d'une table qui sont pointées à d'autres lignes de la 2eme table puis que les nextval sont lancés indépendemment des tables
merci
Cathy
Partager