Oracle External Table学习

本文详细介绍了Oracle外部表的概念、特点及应用场景,包括如何创建数据文件、目录授权、创建及查询外部表等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1.了解外部表(External Table)

  定义:结构被存放在数据字典,而表数据被放在操作系统文件中的表。

  作用:在数据库中查询操作系统文件的数据,还可以将操作系统文件数据装载到数据库中。

  与其它表的区别:在外部表上不能执行DML(Data Manipulation Language,数据操纵语言命令使用户能够查询数据库以及操作已有数据库中的数据)操作,也不能在外部表上建索引,只能执行select操作。

  局限:外部表不支持多用户的并发修改,也不支持LOB类型,而且访问路径中的文件必须在服务器端。

  2.外部表的使用

    1) 数据文件的创建

       在命令提示符下输入以下指令创建一个名为GIS051.dat文件作为我们将要使用的外部数据文件。

rurl4_b=871502d5a4b0bc84cadf635eaeb05cd51663814a351df877f7c40326b254a136e7864937b03c7c99f0ea29826e5e33747363fd67aab0456250c87d1624f71fcd1d7be965638d5323e255af0fea05e543e043486b

    2) 创建目录并授权

       目录是数据文件的存放目标,在本例中GIS051.dat数据文件在C盘中创建,则目录为“C:\”。CMD打开SQLPlus以sysdba身份连进数据库,创建数据目录Dir_External_table,并授权给用户scott。  

rurl4_b=871502d5a4b0bc84cadf635eaeb05cd500e43dbdda2f508547bb5ef6ce9fc680534a623cf01c935095120028cb65484d14394db049ea8a17ed53b977fa2f85d06e79d4d4a06f006f53fe63ded8935a3251061ae4

    3)  创建外部表

       以scott用户入数据库,创建外部表gis051_external_table。

rurl4_b=871502d5a4b0bc84cadf635eaeb05cd5801ef53d51ed898c3b925bb86a384a55a62b82a8c3a54515ab294c24b3b03acd6c3e10ebc77080902f5536cf60130c328f4afb538ee1a55ba8720db48742f42d05393252

命令解析:

     CREATE TABLE gis051_external_table(   

       name VARCHAR2(10),

       studentno NUMBER,

       hometown VARCHAR2(10)

       )ORGANIZATION EXTERNAL ----声明为外部表

         (

TYPE oracle_loader -----外部表类型(共两种)

           DEFAULT DIRECTORY Dir_External_table ------之前建立的目录

             ACCESS PARAMETERS

             (

RECORDS DELIMITED BY NEWLINE ---一行为一条记录

FIELDS TERMINATED BY ',' ----不同字段以“,”打断

              )LOCATION('gis051.dat')     -----外部数据文件

      )REJECT LIMIT UNLIMITED ----无论存在多少条报错记录,都将其忽略继续导入,默认为REJECT LIMIT 0。表示一旦有记录被拒绝,马上停止导入

­

    4)  查询外部表

    外部表创建成功后,可通过SQL语句进行查询,外部表的查询与普通表相同。

rurl4_b=871502d5a4b0bc84cadf635eaeb05cd52f879b9e4d687a5d1229a560f861d3f784260e6d2d41e676719f76ce7d86d50a10626a8ba5eb0e32518fb49824cdf23c73d0c8f8a97c4966df96836eb84d16717b94b419

  3.应用

­

­

转载于:https://www.cnblogs.com/LuGang/archive/2009/07/26/1531521.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值