Windows中使用Oracle外部表导入数据

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Windows中使用Oracle外部表导入数据

Oracle 数据库的外部表,是指不在数据库中的表,也称“虚表”,对外部表可以使用标准SQL 语句进行装载,而不需要先将外部表中的数据装载进数据库中。

只读:由于外部表实际上是磁盘中的文件,所以不能通过SQL语句对外部表文件进行修改。对于外部表,实际使用中可以方便的用来加载数据,比如初始化用户数据,或者将历史数据报表使用外部表加载用来作相关临时性分析,而不需要程序来提供导入支持。

闲话少说,按照下面的例子操练之后,相信大家都掌握外部表的使用原理,在具体使用中融会贯通。(在linux中的使用方法在此文中不作描述,原理相同)

--创建目录

create directory test_dir as'E:\external_table';

--sys登录,授权目录给指定用户

grant read,write on directory test_dir to test_user;

--使用被授权的用户test_user创建外部表:

create table test_table

(empno int,

ename varchar2(20),

sal int,

deptno int)

ORGANIZATION EXTERNAL

(

TYPE ORACLE_LOADER

DEFAULT DIRECTORY test_dir

ACCESS Parameters

(

RECORDS DELIMITED BY NEWLINE

badfile 'bad_test.txt'

LOGFILE'log_test.txt'

FIELDS TERMINATED BY','

MISSING FIELD VALUES ARE NULL

(empno,ename,sal,deptno)

)

LOCATION('t1.txt')

)

;

--查询外部表

select * from test_table;

--查看外部表的两个字典视图

select * from dba_external_tables;

select * from dba_external_locations;

SELECT OWNER, TABLE_NAME, DEFAULT_DIRECTORY_NAME, ACCESS_PARAMETERS

FROM DBA_EXTERNAL_TABLES;

--将外部表数据变成内部表,可以进行任意编辑,或者通过SQL语句将数据插入到你需要的表中create table aaa as select * from test_table;

select * from aaa;

--删除外部表目录,外部表即不存在

drop directory test_dir;

相关文档
最新文档