SQLLDR - 从管道分隔的txt中选择性加载

时间:2011-02-16 07:33:13

标签: oracle sql-loader

我正在寻找一种使用SQLLDR进行选择性加载的方法。 源文件采用“管道分隔”格式。

我知道如果源位于预定位置,有一种方法。通过使用WHEN&而解释here。 POSITION关键字。

如果源文件是“管道或制表符”分隔,我该怎么办?

3 个答案:

答案 0 :(得分:2)

我不确定“选择性加载”是什么意思?

但是,如果您只是询问如何加载每个列用管道分隔的文件,请使用控制文件中的FIELDS TERMINATED BY '|'选项。

有关详细信息和示例,请参阅SQL * Loader手册中的“变量记录格式”一章:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/ldr_concepts.htm#sthref476

答案 1 :(得分:0)

根据您使用的SQLLDR版本的版本,您可以使用关键字FILLER跳过文件中的字段。

以下说明将跳过文件中的第二个字段。

LOAD DATA
TRUNCATE INTO TABLE T1
FIELDS TERMINATED BY ','
( field1,
  field2 FILLER,
  field3
)

答案 2 :(得分:0)

LOAD DATA
INFILE 'c:\myfile.txt'  
TRUNCATE INTO TABLE T1
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS (field1, field2 , field3, field4)