[sql*loader] valeur par defaut

valeur par defaut [sql*loader] - SQL/NoSQL - Programmation

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

Reply

Marsh Posté le 01-03-2007 à 11:48:15   

Reply

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'  
)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed