如何在sql * loader控制文件中写入多个CONTINUEIF条件?

时间:2019-07-18 11:46:05

标签: oracle12c sql-loader

我有一个数据文件,其中有多个逻辑记录构成一个物理记录。 我想使用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:   无效的号码

0 个答案:

没有答案