oracle在不同领域的应用实例,ORACLE外部表的应用实例

ORACLE外部表的应用实例

Oracle 9i 的一项新特性就是 External Table,它就象通常的数据库表一样,拥有字段和数据类型约束,并且可以查询,但是表中的数据却不存储在数据库中,而是在与数据库相关联的普通外部文件里。当你查询 External Table 时,Oracle 将解析该文件并返回符合条件的数据,就象该数据存储在数据库表中一样。

具体的定义可以参见《 Oracle 概念手册》,以下的几点需要注意:

:外部表的描述:

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

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

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

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

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

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

例子:

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

1: 数据文件的格式

F1.TXT文件:

13234,FIRSTS

46464,TESTA

F2.TEXT文件:

13234,SECONDS

46464,TEST

2:创建目录,并进行授权;

sql> create directory test_dir as 'E:temp';

sql>grant read,write on directory test_dir to users;

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

3:创建外部表:

create table test_table

(ms_no varchar(20),

tip varchar(20),

descs varchar(20))

ORGANIZATION EXTERNAL

(

TYPE ORACLE_LOADER

DEFAULT DIRECTORY test_dir

ACCESS Parameters

(

RECORDS DELIMITED BY NEWLINE

badfile 'bad_dev.txt'

LOGFILE 'log_dev.txt'

FIELDS TERMINATED BY ','

MISSING FIELD VALUES ARE NULL

(ms_no,tip,descs)

)

LOCATION('F1.txt','F2.txt')

)

;

表创建完成.当然也可以导入一个文件

4:进行SELECT 操作看是否正确;

SQL>select * from test_table

结果如下:

MS_NO TIP DESCS

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

13234 FIRSTS

46464 TESTA

13234 SECONDS

46464 TEST

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

SQL> DESC DBA_EXTERNAL_TABLES;

Name Type Nullable

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

OWNER VARCHAR2(30)

TABLE_NAME VARCHAR2(30)

TYPE_OWNER CHAR(3) Y

TYPE_NAME VARCHAR2(30)

DEFAULT_DIRECTORY_OWNER CHAR(3) Y

DEFAULT_DIRECTORY_NAME VARCHAR2(30)

REJECT_LIMIT VARCHAR2(40) Y

ACCESS_TYPE VARCHAR2(7) Y

ACCESS_PARAMETERS VARCHAR2(4000) Y

SQL>SELECT OWNER,TABLE_NAME,DEFAULT_DIRECTORY_NAME,ACCESS_PARAMETERSFRFROM

DBA_EXTERNAL_TABLES;

可以得到外部表的相关信息;

:如何得到外部路径的信息:

SQL> desc DBA_EXTERNAL_LOCATIONS;

得到该表结构:

Name Type Nullable

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

OWNER VARCHAR2(30)

TABLE_NAME VARCHAR2(30)

LOCATION VARCHAR2(4000) Y

DIRECTORY_OWNER CHAR(3) Y

DIRECTORY_NAME VARCHAR2(30) Y

SQL> select * from DBA_EXTERNAL_LOCATIONS;

得到具体信息;

相关技术贴子联结[@more@]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle是当今各领域应用比较广泛的一个大型关系型数据库产品,它以其所拥有的稳定、可伸缩性强以及安全可靠等特性受到越来越多的系统开发人员的青睐,正成为企业开发信息系统的首选产品。同其他数据库管理系统相比,Oracle产品较为庞大而复杂,因此,令许多数据库管理系统的学习者在Oracle面前止步不前,究其原因,主要是无法掌握Oracle技术的脉络。本书正是根据作者在高校和各种数据库培训班执教多年的教学经验,结合开发应用Oracle数据库的实践经验编撰而成的,书中编排的内容次序非常适合于读者学习和把握Oracle的脉络,书中所选择的问题都是在实际开发应用Oracle过程中经常遇到和所要解决的。通过学习解决这些问题的方法,可以使读者比较深入地认识和掌握Oracle技术的内涵,快速地进入开发角色。本书共分11章。第1章Oracle的安装卸载与使用环境,主要包括Oracle安装环境及方法,安装后的基本环境及服务,Oracle卸载,还包括验证数据库的安装,系统临时空间不足、监听服务无法启动以及Oracle默认帐户/口令等问题的精讲。第2章 Oracle体系结构,包括Oracle数据库逻辑结构和数据库物理结构以及Oracle文件的目录结构等。在案例精讲中对数据块校验、的移动、数据文件丢失或损坏、丢失控制文件、数据文件更名以及数据库内文件的复制传输等问题的解决做了全面细致的讲解。第3章SQL及PL/SQL的运行环境及其他开发工具。第4章 Oracle数据字典管理与数据类型。包括数据字典的分类、使用方法以及各种对象的具体查询等做了详细的介绍。第5章 数据库对象的创建与使用。主要包括各种类型的创建以及适用情形,如外部、分区、嵌套、全局临时等;完整性约束的管理;索引,包括B树索引、基于函数的索引、位图索引、反向索引、降序索引、压缩索引等的使用方法及其适用情形等。在案例精讲中,对压缩、约束的使能与失能、的层次结构查询、防止删除及对象、提取创建外键约束的脚本以及在线重新定义结构的方法做了详细讲解。第6章 PL/SQL程序设计。介绍了PL/SQL中常用的函数、异常处理等,还有对随机数生成、分析函数、多合并、多插入等问题的解决方法。第7章 子程序和触发器,包括函数、存储过程、包以及触发器等。对子程序的调用者权限、管道函数、传递触发器标识:new和:old以及自治事务也给出了具体的解决方法。第8 章 LOB与面向对象的数据管理. 第9章 Oracle的监听器和网络设置。包括Oracle网络体系结构,Oracle Net参数文件的管理,监听器与网络连接配置等。针对应用中经常出现问题,如保护与设置监听器,监听器远程管理,端口号,客户机与服务器的连接,外部过程调用,不能解析服务名以及没有监听器等都给出了详细的解决方法。第10章 数据库管理,包括导出数据库模式的DDL脚本,管理Oracle数据库实例的方法、数据恢复与Flashback以及更改数据库字符集等具体方法。第11章 数据库的安全管理。包括加密Oracle子程序,存储应用程序用户名和口令,禁止修改删除数据库对象,Oracle数据加密以及丢失SYSMAN及资料档案库用户口令的解决方法。书中给出了丰富的图,多数图例是作者根据多年实践总结出来的,图示简练准确,易于理解,并附有解决问题的具体步骤方法和相应的脚本。读者对象:面向各种培训班学员,高校相关专业的学生, Oracle应用开发人员以及Oracle数据库的学习者。 <br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值