1

我在一个独立的 CSV 文件中有几个 Postgresql 表的转储,我想将其导入到具有匹配模式的 Oracle 数据库中。我发现了几篇关于如何将数据从一个 CSV“表”分发到多个 Oracle 表的帖子,但我的问题是同一个文件中有几个不同的 CVS“表”。

是否可以在 SQLLDR 控制文件中指定表分隔符或以某种方式标记新表,或者我是否必须在将文件提供给 SQLLDR 之前手动拆分文件?

4

1 回答 1

3

这取决于你的数据。你如何确定一行的目的地是哪个表?如果您可以根据行中的数据确定哪个表,那么使用 WHEN 很容易。

LOAD DATA
  INFILE bunchotables.dat
INTO TABLE foo WHEN somecol = 'pick me, pick me' (
  ...column defs...
)
INTO TABLE bar WHEN somecol = 'leave me alone' (
  ... column defs
)

如果您有某种确定目标表的标题行,那么您将不得不事先使用另一个实用程序将其拆分。

于 2010-05-04T15:57:42.330 回答