正确描述
the create table as select statement can be used to upload data into a normal table in the database from an external table
外部表表现得就像一般表,可以命名用create table as select来创建表,同时起到upload数据的作用
通过 Sqlloader 和 Data pump 两种方法创建外部表时都必须使用指定的 directory
-- ORACLE_LOADER引擎建立外部表
create directory dir1 as '/home/oracle/dir1';
-- 生成csv格式数据,以逗号分隔,不要表并没有
-- 数据文件为emp1.dat
grant read,write on directory dir1 to public;
CREATE TABLE emp1_ext
(empno number,
ename varchar2(10),
sal number,
comm number,
deptno number)
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY dir1
ACCESS PARAMETERS (fields terminated by ','
missing field values are null)
LOCATION ('emp1.dat')
);
-- ORACLE_DATADUMP引警导入导出外部表
-- 输出内容为dmp文件
CREATE TABLE emp2_ext
ORGANIZATION EXTERNAL
(
TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY dir1
LOCATION ('emp.dmp')
)
AS SELECT empno,ename,sal,comm,deptno FROM emp;
--- 输入为dmp
CREATE TABLE emp3_ext
(
empno number,
ename varchar2(10),
sal number,
comm number,
deptno number
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY dir1
LOCATION ('emp.dmp')
);
错误描述
the default reject limit for external tables is unlimited.
REJECT LIMIT UNLIMITED
在创建外部表时最后加入LIMIT子句,表示可以允许错误的发生个数。默认值为零。设定为UNLIMITED则错误不受限制
Refer to: oracle 外部表
原文:https://www.cnblogs.com/hyang0/p/10598829.html