例11-2に、デリミタ付きフィールドにデータがある例を示します。
例11-2 可変レコード形式への列オブジェクトのロード
制御ファイルの内容
LOAD DATA 1 INFILE 'sample.dat' "var 6" INTO TABLE departments FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 2 (dept_no dept_name, dept_mgr COLUMN OBJECT (name CHAR(30), age INTEGER EXTERNAL(5), emp_id INTEGER EXTERNAL(5)) )
データ・ファイル(sample.dat)
3 000034101,Mathematics,Johny Q.,30,1024, 000039237,Physics,"Albert Einstein",65,0000,
注意:
例の左に付けた太字の数字は、次の注意事項と対応しています。
"var"
文字列には、各レコードの先頭にある長さフィールドのバイト数(この例では6)が含まれます。値が指定されない場合、デフォルトは5バイトです。可変レコードの最大サイズは、2^32-1です。それ以上の値を指定するとエラーになります。
位置を指定しなくても、一般構文では同じ結果(列オブジェクトの名前の後に、カッコで囲まれた属性のリストが続く)になります。また、省略された型指定については、デフォルトで長さが255のCHAR
型になります。
最初の6バイト(斜体で示した部分)に、次のレコードの長さを指定します。これらの長さ指定には、emp_id
フィールドの後の終了記号のために無視される改行文字も含まれます。