外部表只能在Oracle 9i之后来使用。简单地说,外部表,是指不存在于数据库中的表。通过向Oracle提供描述外部表的元数据,我们可以把一个操作系统文件当成一个只读的数据库表,就像这些数据存储在一个普通数据库表中一样来进行访问。外部表是对数据库表的延伸。
创建外部表的语法:
使用CREATE TABLE语句的ORGANIZATION EXTERNAL子句来创建外部表。外部表不分配任何盘区,因为仅仅是在数据字典中创建元数据。
create table table_name
(col1 datatype1,col2 datatype2,col3 datatype3)
organization external
(.....)
外部表的特征
(1) 位于文件系统之中,按一定格式分割,如文本文件或者其他类型的表可以作为外部表。
(2) 对外部表的访问可以通过SQL语句来完成,而不需要先将外部表中的数据装载进数据库中。
(3) 外部数据表都是只读的,因此在外部表不能够执行DML操作,也不能创建索引。
(4) ANALYZE语句不支持采集外部表的统计数据,应该使用DMBS_STATS包来采集外部表的统计数据。
(5) 可以查询操作和连接。可以并行操作。
(6) 数据在数据库的外部组织,是操作系统文件。
(7) 操作系统文件在数据库中的标志是通过一个逻辑目录来映射的。
外部表是Oracle9i及以上版本支持的功能,它允许将操作系统文件作为只读的数据库表进行访问,无需预先装载数据。创建外部表使用CREATE TABLE语句的ORGANIZATION EXTERNAL子句。外部表特点包括:数据位于文件系统,通过逻辑目录映射,只支持查询和连接,不支持DML操作和索引,且无法用ANALYZE收集统计信息,需用DBMS_STATS包。
26

被折叠的 条评论
为什么被折叠?



