1

自己完結型の CSV ファイルにいくつかの Postgresql テーブルのダンプがあり、一致するスキーマを使用して Oracle データベースにインポートしたいと考えています。1 つの 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 に答える