我正在寻找一种使用SQLLDR进行选择性加载的方法。 源文件采用“管道分隔”格式。
我知道如果源位于预定位置,有一种方法。通过使用WHEN&而解释here。 POSITION关键字。
如果源文件是“管道或制表符”分隔,我该怎么办?
答案 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)