oracle外部表建表语句,Oracle 外部表创建(转)

Oracle 外部表创建实验

Oracle为外部表提供了两种访问的驱动程序,默认的访问程序是oracle_loader,它允许使用oracle的装载技术从外部文件中读取数据。另一种访问驱动程序是oracle_datapump它从数据库读取数据库并将数据插入到外部表中。

1.  Oracle_loader驱动程序

创建外部表去访问D:\waibubiao 下exp.dat文件中的记录

(1).创建一个目录

create directory mulu as 'D:\waibubiao'

SQL> create directory mulu as 'D:\waibubiao';

目录已创建。

(2).给scott用赋予对目录mulu的读写权限

SQL> grant read,write on directory mulu to scott;

授权成功。

SQL>

(3).在soctt用户下创建外部表admin_ext_testing

create table admin_ext_testing

(id number, name varchar(10))

organization external

(type oracle_loader

default directory mulu

access parameters

(

records delimited by newline

badfile mulu:'exp.bad'

logfile mulu:'emp.log'

fields terminated by ','

missing field values are null

(id,name))

location ('exp.dat'))

reject limit unlimited;

SQL> conn scott/tiger

已连接。

SQL> create table admin_ext_testing

2  (id number, name varchar(10))

3  organization external

4  (type oracle_loader

5  default directory mulu

6  access parameters

7  (

8  records delimited by newline

9  badfile mulu:'exp.bad'

10  logfile mulu:'emp.log'

11  fields terminated by ','

12  missing field values are null

13  (id,name))

14  location ('exp.dat'))

15  reject limit unlimited;

表已创建。

SQL>

(4).外部表创建成功,查询外部表中的数据

SQL> select * from admin_ext_testing;

ID NAME

---------- --------------------

1 jack

2 pter

3 tom

4 sola

5 kobe

6 ddd

7 jjjjj

8 999

已选择8行。

SQL>

至此oracle可以访问外部文件的数据了

2.  Oracle_datapump驱动程序

创建一个外部表去访问另一个数据库中的数据库,先把令一个数据库中的数据导入一个文件,然后再去访问外部文件。

数据库mdsp要访问数据库wlm中一个表test的数据,数据如下:

SQL> select * from test;

ID NAME

---------- --------------------

1000 abc

1001 abc

1002 abcer

1003 defalut

SQL>

(1).在wlm数据库上创建一个目录data

create directory mulu as 'D:\data'

SQL> create directory mulu as 'D:\data';

目录已创建。

SQL>

(2)在wlm数据库上创建外部表,执行完下面的语句后,会把表test中数据放到d:\data下TEST.DAT中

SQL> create table ext_test (id , name)

2  organization external

3  (

4   type oracle_datapump

5   default directory mulu

6   location('test.dat')

7   )

8   as select * from test;

表已创建。

SQL>

(3)在mdsp数据库中创建目录data指向d:\data

SQL> create directory data as 'D:\data'

目录已创建。

SQL>

(4)在mdsp上创建外部表去访问TEST.DAT文件中的数据

SQL> create table ext_mdsp_test (id number , name varchar(10))

2  organization external

3  (

4   type oracle_datapump

5   default directory data

6   location('test.dat')

7   );

表已创建。

SQL>

(5)在mdsp数据库上访问外部表ext_mdsp_test

SQL> select * from ext_mdsp_test;

ID NAME

---------- --------------------

1000 abc

1001 abc

1002 abcer

1003 defalut

SQL>

注:在外部表上不能执行DML操作

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值