对ORACLE的外部表的简单介绍(原)

External Tables是对sql*loader的一个补充,它使你像访问数据库里的数据一样访问外部源数据。
1:外部表怎么被创建
CREATE TABLE...ORGANIZATION EXTERNAL
TYPE 指定外部表访问驱动类型。
   两种选择。第一:ORACLE_LOADER ,这种类型只能完成数据装入,数据只能从文本数据文件中load 
   第二:ORACLE_DATAPUMP ,这种类型可以装入和卸出数据。数据必须来自dump files。
DEFAULT DIRECTORY 指定文件的存放路径,路径是通过directory指定,不是直接的操作系统路径。
ACCESS PARAMETERS。
LOCATION 是指定DIRECTORY地址中的文件。
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.
然后:
SQL> INSERT INTO emp (emp_no,
  2                   first_name,
  3                   middle_initial,
  4                   last_name,
  5                   hire_date,
  6                   dob)
  7  (SELECT employee_number,
  8          employee_first_name,
  9          substr(employee_middle_name, 1, 1),
 10          employee_last_name,
 11          employee_hire_date,
 12          to_date(employee_dob,'month, dd, yyyy')
 13  FROM emp_load);
这样数据就已经LOAD到emp表中了
2:外部表中的并行访问
   a)使用ORACLE_LOADER的并行访问
   ORACLE_LOADER访问驱动是把大的数据文件分成小的部分去处理。
   b)使用ORACLE_DATAPUMP的并行访问
   ORACLE_DATAPUMP可以把数据库中的数据导出到外部表对应的多个文件中去。
   ORACLE_DATAPUMP还可以把多个DUMP文件

你可能感兴趣的:(oracle,Date,数据库,Access,Parameters,newline)