热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oracle9i显示表的内容,ORACLE9I中外部表的使用_oracle

oracle9I中外部表的使用说明:这个帖子讲述Oracle9I外部表(ExternalTable)的初级使用。什么是外部表?Externaltable和正规的表很相

oracle9I中外部表的使用

说明: 这个帖子讲述Oracle9I外部表(External Table)的初级使用。

什么是外部表?

External table和正规的表很相似,具体的定义可以参见《Oracle概念手册》,以下的几点需要注意:

>创建的语法类似于: "CREATE TABLE ... ORGANIZATION EXTERNAL"

>数据在数据库的外部组织,是操作系统文件。

>操作系统文件在数据库中的标志是通过一个逻辑目录来映射的。

>数据是只读的。(外部表相当于一个只读的虚表)

>不可以在上面运行任何DML操作,不可以创建索引。

>可以查询操作和连接。可以并行操作。

例子:

假定有如下的两个数据文件:

1 平面文件数据的描述

假设如下的两个平面文件

1.dat:

7369,SMITH,CLERK,7902,17-DEC-80,100,0,20

7499,ALLEN,SALESMAN,7698,20-FEB-81,250,0,30

7521,WARD,SALESMAN,7698,22-FEB-81,450,0,30

7566,JONES,MANAGER,7839,02-APR-81,1150,0,20

2.dat:

7654,MARTIN,SALESMAN,7698,28-SEP-81,1250,0,30

7698,BLAKE,MANAGER,7839,01-MAY-81,1550,0,30

7934,MILLER,CLERK,7782,23-JAN-82,3500,0,10

(要有对操作系统中该目录的读写权限。)

2 创建一个逻辑目录并进行适当授权:

SQL> CREATE DIRECTORY TESTDIR AS 'D:/TEMP/';

目录已创建。

SQL> GRANT READ ON DIRECTORY TESTDIR TO DEMO;

授权成功。

SQL> GRANT WRITE ON DIRECTORY TESTDIR TO DEMO;

授权成功。

注意:创建完毕逻辑目录之后要把平面文件拷贝到该目录下,另外还要注意文件名字不要写错。

3 创建外部表

SQL> ED

已写入文件 afiedt.buf

1 CREATE TABLE DEMO.EXT

2 (emp_id number(4),

3 ename varchar2(12),

4 job varchar2(12) ,

5 mgr_id number(4) ,

6 hiredate date,

7 salary number(8),

8 comm number(8),

9 dept_id number(2))

10 ORGANIZATION EXTERNAL

11 (TYPE ORACLE_LOADER

12 DEFAULT DIRECTORY TESTDIR

13 ACCESS PARAMETERS(RECORDS DELIMITED BY NEWLINE

14 FIELDS TERMINATED BY ',')

15* LOCATION('1.DAT','2.DAT'))

SQL> /

表已创建。

4 进行Select选择操作看看是否正确:

SQL> select * from DEMO.EXT;

EMP_ID ENAME JOB MGR_ID HIREDATE SALARY COMM DEPT_ID

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

7369 SMITH CLERK 7902 17-DEC-80 100 0 20

7499 ALLEN SALESMAN 7698 20-FEB-81 250 0 30

7521 WARD SALESMAN 7698 22-FEB-81 450 0 30

7566 JONES MANAGER 7839 02-APR-81 1150 0 20

7654 MARTIN SALESMAN 7698 28-SEP-81 1250 0 30

7698 BLAKE MANAGER 7839 01-MAY-81 1550 0 30

7934 MILLER CLERK 7782 23-JAN-82 3500 0 10

如果要得到外部表的有关信息:

SQL> DESC DBA_EXTERNAL_TABLES;

名称

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

OWNER

TABLE_NAME

TYPE_OWNER

TYPE_NAME

DEFAULT_DIRECTORY_OWNER

DEFAULT_DIRECTORY_NAME

REJECT_LIMIT

ACCESS_TYPE

ACCESS_PARAMETERS

SQL> SELECT OWNER,TABLE_NAME,DEFAULT_DIRECTORY_NAME,ACCESS_PARAMETERS

2 FROM

3 DBA_EXTERNAL_TABLES;

OWNER TABLE_NAME DEFAULT_DIRECTORY_NAME ACCESS_PARAMETERS

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

DEMO EXT TESTDIR RECORDS DELIMITED BY NEWLINE

FIELDS TERMINATED BY ','

如果DBA想要知道平面文件的位置,使用如下的查询:

SQL> desc DBA_EXTERNAL_LOCATIONS;

名称

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

OWNER

TABLE_NAME

LOCATION

DIRECTORY_OWNER

DIRECTORY_NAME

SQL> select * from DBA_EXTERNAL_LOCATIONS;

OWNER TABLE_NAME LOCATION DIR DIRECTORY_NAME

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

DEMO EXT 1.DAT SYS TESTDIR

DEMO EXT 2.DAT SYS TESTDIR

参考文档:Oracle9i Database Administration Guide

欢迎大家阅读《ORACLE9I中外部表的使用_oracle》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~



推荐阅读
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
author-avatar
杭ai君浩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有