专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » oracle创建用户:创建访问非Oracle文件的外部表格 »正文

oracle创建用户:创建访问非Oracle文件的外部表格

来源: 发布时间:星期四, 2009年2月12日 浏览:187次 评论:0



  Oracle9i能够直接从操作系统文件获取数据并让其看起来就像是数据库内部表格
  
  Oracle9i已经扩展了它和操作系统接口因此让能够任何类型平面文件操作起来就好像这个文件是个关系表这事实上就允许你编写任何类型SQL来访问标准关系表事实上你甚至可以利用微软Excel电子表格文件(.xls文件)让它们看起来就像是Oracle9i内部表格
  
  这个(使用)外部表格功能对于经常有元数据Oracle数据仓尤其有用你不用花时间使用Oracle SQL*Loader工具把数据放到数据库里而可以就把信息留在平面文件里并为这个平面文件创建个外部表格
  
  使用这项技术信息就好像成了Oracle数据库部分而事实上该信息在Oracle的外
  
  现在让我们来看个简单例子我们将从个以逗号定界平面文件开始如下所示
  
  7369,SMITH,CLERK,7902,12-JAN-98,800,20
  7499,ALLEN,SALESMAN,7698,03-MAR-96,1600,300,30
  7521,WARD,SALESMAN,7698,27-APR-97,1250,500,30
  7566,JONES,MANAGER,7839,20-OCT-97,2975,,20
  7654,MARTIN,SALESMAN,7698,28-SEP-98,1250,1400,30
  7698,BLAKE,MANAGER,7839,11-NOV-98,2850,,30
  7782,CLARK,MANAGER,7839,29-DEC-97,2450,,10
  7788,SCOTT,ANALYST,7566,21-SEP-96,3000,,20
  7839,KING,PRESIDENT,,27-MAY-98,5000,,10
  7844,TURNER,SALESMAN,7698,24-OCT-98,1500,0,30
  7876,ADAMS,CLERK,7788,12-JUN-97,1100,,20
  
  使用下面命令我们可以把这个文件定义为Oracle表格
  
  Create directory blah as \'/home4/teach17\'
  create table external_emp (
  EMPNO NUMBER(4),
  ENAME VARCHAR2(10),
  JOB VARCHAR2(9),
  MGR NUMBER(4),
  HIREDATE DATE,
  SAL NUMBER(7,2),
  COMM NUMBER(7,2),
  DEPTNO NUMBER(2))
  Organization external
  (type oracle_loader
  default directory BLAH
  access parameters (records delimited by line
  fields terminated by \',\')
  location (\'extemp.txt\'))
  reject limit 1000;
  
  现在我们就可以对这个表格使用任何SQL了但是外部表格有些很重要限制:你不能使用DML操作也不能对外部表格创建索引而且外部表格有处理延迟所以它们不适合于大型表格
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: