我有一个数据文件,其中有多个逻辑记录构成一个物理记录。 我想使用sqlldr将数据加载到Oracle表中。
我在控制文件中使用了CONTINUEIF
条件,但是由于某些记录具有不同的条件,因此未加载它们。
表格代码
CREATE TABLE TEST_TABLE
(
ID INT,
VALUE VARCHAR2(4000)
)
控制文件代码
LOAD DATA
INFILE * "str '\n'"
CONTINUEIF NEXT PRESERVE (1:5) = ' at'
INTO TABLE TEST_TABLE
FIELDS TERMINATED BY '~'
TRAILING NULLCOLS
(
ID,
VALUE CHAR(4000)
)
数据文件
1~Message:
at Sometext
at Sometext
2~Message:
at Sometext
3~Message:
Invalid Sometext
at Sometext
4~Message:
Invalid Sometext
Invalid Sometext
at Sometext
5~Message: Sometext
记录4:已拒绝-表TEST_TABLE的列ID出错。 ORA-01722: 无效的号码