2011-10-28 9 views
0

Oracle 11gで外部テーブル手法を使用して、ファイルからデータベースにデータをロードしています。Oracle 11g外部テーブル(ファイル)データのスキップについて

ファイルは外部からのもので、標準形式です。しかし、私のアプリケーションでは、各行のすべての列(ファイル内のフィールド)は必要ありません。どの列をソースにするべきか、無視しなければならない列を指定する方法がありますか(たとえば、オフセットを指定するなど)。

+1

ファイルの形式について説明できますか?たとえば、固定幅のファイル、または区切られたファイルについて話していますか? 「オフセット」という言葉の使用は固定幅を意味しますが、それが意図的であるかどうかはわかりません。 –

+0

こんにちは。はい、ファイルは固定幅のファイルで、行の終わりが区切られ、外部テーブルの定義には各フィールドの長さが記述されています。 – Sid

答えて

1

データファイルの幅が固定されているので、興味のない部分だけを省略することができます。フィールドの指定が連続である必要はありません。

たとえば、むしろ別の列に行の最初の3つの文字をロードする

(
    col1 (1:1) CHAR(1), 
    col2 (2:2) CHAR(1), 
    col3 (3:3) CHAR(1) 
) 

を指定するよりも、あなたが第二のカラムをスキップしだけで、第1〜第3、及び第四の位置をロードすることができファイルを3つの別々の列に変換します。

(
    col1 (1:1) CHAR(1), 
    col2 (3:3) CHAR(1), 
    col3 (4:4) CHAR(1) 
) 
+0

パーフェクト、それは私が探していたものです。ありがとう。 – Sid

+0

もう一度リクエストしてください。これについてのオンラインの例がありますか? – Sid

関連する問題