プライマリ・コンテンツに移動
Oracle® Databaseユーティリティ
12cリリース1 (12.1.0.2)
B71303-09
目次へ移動
目次
索引へ移動
索引

前
次

DELIMITED BY

DELIMITED BY句を使用して、レコードの終わりを識別する文字を指定します。

DELIMITED BY NEWLINEを指定する場合、実際に使用される値はプラットフォームに依存します。UNIXプラットフォームでは、NEWLINEは「\n」です。Windowsオペレーティング・システムでは、NEWLINEは「\r\n」とみなされます。

DELIMITED BY stringを指定する場合、stringは、テキストまたは一連の16進数のいずれかになります。16進数の場合は、OXまたはXで開始して引用符で囲みます。テキストの場合は、データ・ファイルのキャラクタ・セットに変換され、その結果がレコードの境界の識別に使用されます。詳細は、「string」を参照してください。

次の条件を満たす場合は、デリミタの識別には16進数字を使用する必要があります。

  • アクセス・パラメータのキャラクタ・セットがデータ・ファイルのキャラクタ・セットとは異なる場合。

  • 区切り文字列中にデータ・ファイルのキャラクタ・セットに変換できない文字がある場合。

16進数字はバイトに変換されます。16進文字列ではキャラクタ・セットの変換は実行されません。

ファイルの終わりがレコード終了記号の前で検出された場合、アクセス・ドライバは、終了記号が検出された場合と同様に、ファイルの終わりまでの処理されていないすべてのデータをレコードの部分とみなします。

注意:

デリミタ付きのレコードには、VARCHARおよびVARRAWのバイナリ数値を含むバイナリ・データを含めないでください。バイナリ・データを含めると、そのバイナリ・データがデリミタの検索中に文字として解釈されるため、エラーまたは破損が発生します。

次に、DELIMITED BYレコードの使用例を示します。

CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth CHAR(4))
  ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir
                         ACCESS PARAMETERS (RECORDS DELIMITED BY '|' FIELDS TERMINATED BY ','
                                              (first_name CHAR(7),
                                               last_name CHAR(8),
                                               year_of_birth CHAR(4)))
                         LOCATION ('info.dat'));

Alvin,Tolliver,1976|Kenneth,Baer,1963|Mary,Dube,1973