CHAR句を使用して、フィールドが文字データ型であることを指定します。CHARフィールドの長さ(len)で、フィールドの最大バイト数または最大文字数を指定します。lenは、STRING SIZES ARE IN句の設定に応じて、バイト単位または文字単位になります。
CHARデータ型のフィールドに長さを指定しない場合、フィールドが区切られていないかぎり、フィールド・サイズは1になります。
デリミタ付きCHARフィールドでは、長さが指定されている場合、その長さが最大長として使用されます。
長さが指定されていないデリミタ付きCHARフィールドでは、デフォルトの255バイトが使用されます。
デリミタ付きで255バイトを超えるCHARフィールドには、最大長を指定する必要があります。指定しない場合は、データ・ファイルのフィールドが最大長を超えているというエラーを受信します。
次に、CHAR句の使用例を示します。
SQL> CREATE TABLE emp_load
2 (employee_number CHAR(5),
3 employee_dob CHAR(20),
4 employee_last_name CHAR(20),
5 employee_first_name CHAR(15),
6 employee_middle_name CHAR(15),
7 employee_hire_date DATE)
8 ORGANIZATION EXTERNAL
9 (TYPE ORACLE_LOADER
10 DEFAULT DIRECTORY def_dir1
11 ACCESS PARAMETERS
12 (RECORDS DELIMITED BY NEWLINE
13 FIELDS (employee_number CHAR(2),
14 employee_dob CHAR(20),
15 employee_last_name CHAR(18),
16 employee_first_name CHAR(11),
17 employee_middle_name CHAR(11),
18 employee_hire_date CHAR(10) date_format DATE mask "mm/dd/yyyy"
19 )
20 )
21 LOCATION ('info.dat')
22 );
Table created.