|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 75 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() |
pourqoui ne pas utiliser deux triggers before insert qui géreront l'incrémentation de tes séquences plutot que de laisser le sqlloader s'en occupé ? ca me semble que ca résoudrai ton probleme de clé etrangere
à tester bon courage |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 75 ![]() |
avec 2 triggers, je ne sais pas si cela resoudra le probleme car si les 2 inserts n'arrivent pas en même temps, j'aurai le même problème que la solution précédente. Il suffit d'avoir 2 INSERTS dans une table avant, et 1 INSERT dans la 2 ème table qu'on a une mauvaise référence
merci Cathy |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com