VARCHAR
データ型には、文字データが後に続くバイナリ・カウント・フィールドが含まれます。バイナリ・カウント・フィールドの値は、フィールドのバイト数または文字数のいずれかです。数値が、文字数とバイト数のどちらで解釈されるかを指定する方法の詳細は、「STRING SIZES ARE IN」を参照してください。
VARRAW
データ型には、バイナリ・データが後に続くバイナリ・カウント・フィールドが含まれます。バイナリ・カウント・フィールドの値は、バイナリ・データのバイト数です。VARRAW
フィールドのデータは、DATA
IS
…ENDIAN
句の影響を受けません。
ACCESS PARAMETERS
句の中のVARIABLE 2
句は、長さを含むバイナリ・フィールドのサイズを規定します。
オプションのlength_of_length
フィールドは、カウント・フィールドのバイト数です。VARCHAR
に対するlength_of_length
の有効な値は、1、2、4および8です。length_of_length
を指定しない場合、値に2が使用されます。カウント・フィールドは、DATA
IS
…ENDIAN
句で指定されたとおりの同じエンディアンを持ちます。
max_len
フィールドを使用して、データ・ファイルのフィールドのインスタンスの最大サイズを指定します。VARRAW
フィールドでは、max_len
はバイト数です。VARCHAR
フィールドでは、max_len
は、STRING
SIZES
ARE
IN
句の設定に応じて、文字数またはバイト数のいずれかになります。
次に、VARCHAR
およびVARRAW
の使用例を示します。例の後に、データ・ファイルinfo.dat
の内容を示します。
CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), resume CHAR(2000), picture RAW(2000)) ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir ACCESS PARAMETERS (RECORDS VARIABLE 2 DATA IS BIG ENDIAN CHARACTERSET US7ASCII FIELDS (first_name VARCHAR(2,12), last_name VARCHAR(2,20), resume VARCHAR(4,10000), picture VARRAW(4,100000))) LOCATION ('info.dat'));
info.datデータ・ファイルの内容
この例で使用するデータ・ファイルの内容は次のとおりです。
0005Alvin0008Tolliver0000001DAlvin Tolliver's Resume etc. 0000001013f4690a30bc29d7e40023ab4599ffff
わかりやすくするため、カウント・バイトのバイナリ値およびRAWデータの値は、1バイナリ・バイトをイタリック体の2文字で表示していることに注意してください。実際のデータ・ファイルでは、ASCII形式ではなくバイナリ形式の値になります。したがって、この例をカット・アンド・ペーストで使用すると、エラーが返されます。