1

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

我知道如果源位于预定义的位置,有办法做到这一点。此处使用 WHEN 和 POSITION 关键字对其进行了解释。

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

4

3 回答 3

2

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

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

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

于 2011-02-16T07:49:02.617 回答
0

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

以下指令将跳过文件中的第二个字段。

LOAD DATA
TRUNCATE INTO TABLE T1
FIELDS TERMINATED BY ','
( field1,
  field2 FILLER,
  field3
)
于 2014-03-21T06:30:38.403 回答
0
LOAD DATA
INFILE 'c:\myfile.txt'  
TRUNCATE INTO TABLE T1
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS (field1, field2 , field3, field4)
于 2017-01-31T14:29:42.867 回答