PLSQL_Oracle外部表的概念和使用(案例)(通过外部表直接查询数据文件以节数据库表空间)

本文详细介绍了Oracle外部表的概念,特点、限制及其与SQLLDR的对比。外部表允许通过SQL查询操作系统文件,仅支持SELECT操作,不支持DML或索引。文中提供了一个创建和使用外部表的案例,包括创建目录、数据文件、外部表,以及进行查询和删除操作。在删除外部表时需谨慎,确保没有关联的外部表存在。
摘要由CSDN通过智能技术生成

一、摘要


ORACLE外部表用来存取数据库以外的文本文件(Text File)或ORACLE专属格式文件。

因此,建立外部表时不会产生段、区、数据块等存储结构,只有与表相关的定义放在数据字典中。

外部表,顾名思义,存储在数据库外面的表。

当存取时才能从ORACLE专属格式文件中取得数据,外部表仅供查询,不能对外部表的内容进行修改(INSERT、UPDATE、DELETE操作)。

不能对外部表建立索引。因为创建索引就意味着要存在对应的索引记录。而外部表其实在没有存储在数据库中。

故在外部是无法建立索引的,如果硬要建立的话,则系统会提示“操作在外部组织表上不受支持”的错误提示。

 

1. 外部表特征

  • 位于文件系统之中(一定要在数据库服务器中,而不是其它网络路径),按一定格式分割, 例如@#$等,文本文件或者其他类型的文件可以作为外部表。
  • 对外部表的访问可以通过SQL语句来完成,而不需要先将外部表中的数据装载进数据库中。
  • 外部数据表都是只读的,因此在外部表不能够执行DML操作,也不能创建索引。
  • ANALYZE语句不支持采集外部表的统计数据,应该使用DMBS_STATS包来采集外部表的统计数据。
  • 可以查询操作和连接。也可以并行操作。
  • 数据在数据库的外部组织,是操作系统文件。
  • 操作系统文件在数据库中的标志是通过一个逻辑目录来映射的。

2. 外部表限制

  • 只能对表进行SELECT,不能进行DELETE、UPDATE、INSERT这些DML操作。
  • 因为外部表需要在ORACLE数据库“服务端”创建目录,OS文件必须放在这些目录中。即这些文件只能放在数据库服务端。如果数据文件不位于服务器,则无法使用外部表。
  • 外部表上不能创建索引。但可以建立视图。
  • 外部表不支持LOB对象。如果要使用LOB类型,则不能使用外部表。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值