外部表基本多用于在数据仓库系统,一般数据仓库接收的数据多为DAT类型的文本文件,并且还会备份这些数据文件,这时候如果采用外部表直接进行数据过滤,那么可以省一些数据库的表所占空间。并且外部表用在跨平台数据迁移也是一个相当好用的方法。 Oracle数据库允许以只读方式访问外部表中的数据。允许对外部数据运行任何SQL查询,而无需将外部数据加载到数据库中。使用外部表卸载数据时,将根据SELECT语句中的数据类型自动创建元数据。 我们可以使用SQL直接和并行地查询外部表数据。例如,可以对外部表做select, join, 或者sort等一些操作 。但是,无法执行DML操作,也无法创建索引。
复制
Oracle数据库为外部表提供了两个访问驱动程序:
1、默认的访问驱动程序是ORACLE_LOADER,它允许使用ORACLE LOADER技术从外部文件读取数据。ORACLE_LOADER访问驱动程序提供数据映射功能,这些功能是SQL*LOADER实用程序控制文件语法的一个子集。
2、访问驱动程序ORACLE_DATAPUMP允许您卸载数据,即从数据库中读取数据并将其插入外部表(由一个或多个外部文件表示),然后将其重新加载到ORACLE数据库中。
外部表的限制大概如下:
1、外部表不能被创建为临时表
2、外部表上不能够创建约束
3、外部表上不能够创建索引
4、外部表上不能够有虚拟列或隐藏列
5、外部表不能够有对象类型、varray或long类型的列,可以用数据库里面的表中的varray或long类型的列用来展示外部表中的lLOB列。
概念性的东西暂且记录到这,下次再记录实际操作的东西。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。