Mam kłopotliwy problem z sqlldr, który mnie niepokoi. Mój plik kontrola wygląda mniej więcej tak:Wymagane Oracle sqlldr TRAILING NULLCOLS, ale dlaczego?
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"
)
danych jest mniej więcej tak:
a,b,c,
a,b,,d
a,b,,
a,b,c,d
Jeśli nie umieścić NULLCOLS spływu w, otrzymuję „kolumny nie znaleziono przed końcem logiczne błąd nagrywania. Ale chociaż niektóre kolumny mają wartość null, przecinki są tam wszystkie, więc nie widzę powodu, dla którego sqlldr błędnie zinterpretuje plik wejściowy i nie dojdzie do końca, w którym generuje identyfikator z sekwencji bazy danych.
Ta składnia działała wcześniej bez zerowych kolumn - dlaczego kolumna null powoduje, że sqlldr nie osiąga wygenerowanej kolumny?
Mam to działa, chcę tylko zrozumieć DLACZEGO!?!
Bo Larry tak powiedział, to dlatego. Takie jest zamierzone zachowanie. –
Jest ok, że jest przeznaczony, po prostu chcę zrozumieć mechanikę tego. – orbfish