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

前
次

VARGRAPHIC

このデータは、可変長のダブルバイト・キャラクタ・セット(DBCS)です。lengthサブフィールドおよびダブルバイト文字の文字列で構成されます。ダブルバイト・キャラクタ・セットは、Oracle Databaseではサポートされていないため、SQL*Loaderを使用してシングルバイトとして読み込み、RAWデータとしてロードします。RAWデータ型と同様、VARGRAPHICフィールドは変更されずに指定の列に格納されます。

注意:

lengthサブフィールドのサイズには、システム上のSQL*LoaderのSMALLINTデータ型の長さ(C言語のSHORT INT型に相当する長さ)が取られます。詳細は、「SMALLINT」を参照してください。

VARGRAPHICデータは、SHORT INTの長さが同じバイト数のシステム間でのみ、正しい結果でロードできます。バイト順序がシステム間で異なる場合は、適切な方法でlengthサブフィールドのバイト順序を指定します。詳細は、「バイト順序」を参照してください。

VARGRAPHICデータ型の構文は次のとおりです。

現行のフィールドの長さは、先頭の2バイトで示されます。VARGRAPHICデータ型に指定する最大長には、lengthサブフィールドの長さは含まれません。この最大長には、グラフィック(ダブルバイト)文字の文字数を指定します。フィールドのバイト単位の最大長を決定するには、このmaximum_lengthの値を2倍します。

フィールド最大長のデフォルトは、グラフィック文字で2KB、つまり4KB(2×2KB)です。必要なメモリーを最小限にするには、このような可変フィールドに対して、できるだけ最大長を指定します。

VARGRAPHIC文の前に(pos_specを使用して)位置指定が指定されている場合、グラフィック文字の1文字目ではなく、lengthサブフィールドの位置がわかります。pos_spec(start:end)を指定すると、endの位置によってそのフィールドの最大長が決まります。ここでのstartendは、そのファイルにおける1バイト単位の文字位置を示します。したがって、(end+1)からstartの値を引くと、フィールドの実際のバイト長が求められます。最大長を指定した場合は、その最大長の方が、位置指定から計算された最大長より優先されます。

VARGRAPHICフィールドのフィールド長全体が、読み込まれる前に論理レコードの終わりで切り捨てられた場合、警告が出力されます。VARGRAPHIC型のフィールド長は、そのフィールドの各入力データ中に埋め込まれているため、そのフィールド長の方が正確であるとみなされます。

VARGRAPHICデータに対してはデリミタを使用できません。