Xác định cột bạn muốn bỏ qua là ĐIỀN. Hãy nhớ thứ tự của các cột trong tệp điều khiển thường là thứ tự của chúng trong tệp dữ liệu. Nếu tên khớp với một cột trong bảng, đó sẽ là vị trí của nó.
...
(
f1 CHAR, -- 1st field in the file, goes to column named f1 in the table
X FILLER, -- 2nd field in the file, ignored
f3 CHAR, -- 3rd field in the file, goes to column named f3 in the table
f2 CHAR -- 4th field in the file, goes to column named f2 in the table
)
Nói cách khác, thứ tự của các cột trong tệp điều khiển khớp với thứ tự của chúng trong tệp dữ liệu, không phải thứ tự của chúng trong bảng. Điều đó được khớp theo tên, không phải thứ tự.
CHỈNH SỬA - Tôi đã thêm một số nhận xét để giải thích, nhưng tôi tin rằng chúng không thể ở vị trí đó trong tệp thực tế. Xem ví dụ đầy đủ dưới đây:
Tạo bảng:
CREATE TABLE T1
(
F1 VARCHAR2(50 BYTE),
F2 VARCHAR2(50 BYTE),
F3 VARCHAR2(50 BYTE)
);
Tệp điều khiển, example.ctl:
load data
infile *
truncate
into table t1
fields terminated by '|' trailing nullcols
(
f1 CHAR,
x FILLER,
f3 CHAR,
f2 CHAR
)
BEGINDATA
a|b|c|d
w|x|y|z
Chạy nó:
C:\temp>sqlldr userid=login/[email protected] control=example.ctl
SQL*Loader: Release 11.2.0.1.0 - Production on Wed Apr 22 11:25:49 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Commit point reached - logical record count 2
Chọn từ bảng:
Hy vọng rằng điều này sẽ hữu ích.