valeur par defaut [sql*loader] - SQL/NoSQL - Programmation
Marsh Posté le 02-03-2007 à 17:59:28
De memoire, essaye quelque chose comme :
LOAD DATA INFILE 'TEST.csv'
TRUNCATE
INTO TABLE INTARTASS
TRAILING NULLCOLS
(
CH1 CHAR TERMINATED BY ';',
CH2 CHAR TERMINATED BY ';',
CH3 CONSTANT SYSDATE",
CH4 CONSTANT 'aa'
)
Marsh Posté le 01-03-2007 à 11:48:15
Bonjour,
Voici mon pb
je veux importer un fichier csv avec sqlloader
je vais vous donner un exemple simple
table TABLE1 avec comme champs CH1, CH2, CH3, CH4 (tous les champs sont not nullable)
les données des colones CH1 et CH2 proviennent du fichier et je veux determiner dans le fichier de control des valeurs pour CH3 (sysdate) et CH4(varchar2 = 'aa')
voici mon fichier de control :
LOAD DATA INFILE 'TEST.csv'
TRUNCATE
INTO TABLE INTARTASS
TRAILING NULLCOLS
(
CH1 CHAR TERMINATED BY ';',
CH2 CHAR TERMINATED BY ';',
CH3 "SYSDATE",
CH4 "aa'
)
mon fichier donnée contient une ligne :
string1;string2
sql*loader me rejette avec un message du type : cannot insert NULL into CH3
J'ai l'impression (apres test) qu'il ne traite pas les CH3 et CH4 car le fichier ne contient que 2 valeurs par ligne.
J'ai fait un test avec comme fichier de données :
string1;string2;bidon;bidon
et ca fonctionne (sachant que bidon ne sert a rien, il insere bien SYSDATE et 'aa'.
Mais je peux pas imposer d'avoir un fichier avec des valeurs puis des "bidon;" a la fin!
J'ai essayer plusieurs facon, je ne trouve pas comment faire! Je pense qu'il doit y avoir une solution sinon c'est vraiment pas pratique!!!
Merci de votre aide