Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > SQL*Loader
SQL*Loader Forum d'entraide sur Oracle SQL*Loader
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 24/05/2007, 16h53   #1
Invité régulier
 
Inscription : février 2006
Messages : 75
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 75
Points : 9
Points : 9
Par défaut SQLLOADER parallel = TRUE

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
cathou9999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2007, 11h58   #2
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 40
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Maroc

Informations forums :
Inscription : avril 2007
Messages : 40
Points : 25
Points : 25
Envoyer un message via MSN à damiano84
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
damiano84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2007, 17h45   #3
Invité régulier
 
Inscription : février 2006
Messages : 75
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 75
Points : 9
Points : 9
Par défaut hmmm....

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
cathou9999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h45.


 
 
 
 
Partenaires

Hébergement Web