2017-07-06 29 views
0

SQL * Loaderを介して表にロードする必要があるフラット・ファイルがあります。SQL * Loader:複数行区切り文字

フラットファイルの内容は次のようである:

AAA |

以下

は私の予想結果は後にロードされFFF | BBB

CCC | DDD

EEEテーブル:

AAA

BBB

CCC

DDD

FFF

EEEはこれまでのところ、私はちょうど置くことができますよ "|"

LOAD DATA 
INFILE 'TEST.dat' "STR '|'" 
TRUNCATE 
INTO TABLE TBL_TEST 
FIELDS TERMINATED BY '\n' 
(TEXT) 

上記の出力は次のとおり:

AAA

BBB

DDD

FFF

行区切り文字と制御ファイルとしてのようなものです

新しい行のためにCCCEEEが欠けています。

複数の行区切り文字を指定する方法はありますか? 私の場合、行区切り文字は "|"ですと "\ n"です。

ありがとうございます。

答えて

1

可能であれば、それは本当に複雑です。まず、データソースを適切な形式でデータに変換します。それに失敗した場合は、スクリプトでファイルを前処理して、パイプ文字を改行で置き換えます。または、そのままの状態でステージング表にロードし、そこから標準のSQLまたはPL/SQLで操作します。

+0

ありがとうございます。私はロード前にフラットファイルを操作しようとします。 – Fundy

関連する問題