J'ai un problème sqlldr abstruse qui me dérange. Mon fichier de contrôle ressemble à ceci:Oracle sqlldr TRAVELLING NULLCOLS requis, mais pourquoi?
load data
infile 'txgen.dat'
into table TRANSACTION_NEW
fields terminated by "," optionally enclosed by '"'
TRAILING NULLCOLS
(A,
B,
C,
D,
ID "ID_SEQ.NEXTVAL"
)
données est quelque chose comme ceci:
a,b,c,
a,b,,d
a,b,,
a,b,c,d
Si je ne mets pas de laisser traîner NULLCOLS dans, je reçois la colonne » pas trouvé avant la fin de logique erreur d'enregistrement. Mais bien que certaines des colonnes soient nulles, les virgules sont toutes là, donc je ne vois pas de raison pour que sqlldr interprète mal le fichier d'entrée, et n'arrive pas à la fin où il génère l'ID de la séquence de base de données.
Cette syntaxe a déjà fonctionné avec aucune colonne null - pourquoi une colonne nulle fait-elle que sqlldr n'atteint pas la colonne générée?
Je l'ai fonctionne, je veux juste comprendre pourquoi!?!
Parce que Larry a dit, c'est pourquoi. C'est le comportement voulu. –
C'est ok que c'est prévu, je veux juste comprendre la mécanique de celui-ci. – orbfish