【oracle】外部表

版权声明:原创手打 转载请注明来源 https://blog.csdn.net/qq_42774325/article/details/82023794

外部表

 

外部表介绍

ORACLE外部表用来存取数据库以外的文本文件(Text File)或ORACLE专属格式文件。因此,建立外部表时不会产生段、区、数据块等存储结构,只有与表相关的定义放在数据字典中。外部表,顾名思义,存储在数据库外面的表。当存取时才能从ORACLE专属格式文件中取得数据,外部表仅供查询,不能对外部表的内容进行修改(INSERT、UPDATE、DELETE操作)。不能对外部表建立索引。因为创建索引就意味着要存在对应的索引记录。而外部表其实在没有存储在数据库中。故在外部是无法建立索引的。如果硬要建立的话,则系统会提示“操作在外部组织表上不受支持”的错误提示。

 

create directory dir1 as ‘/home/oracle/dir1’;

创建一个目录dir1

 

 

grant read,write on directory dir1 to hr;

将读写目录dir1的权限授给hr

 

 

第一种方式:

第一种方式可以直接创建外部表所使用的文件

创建外部表语句

 

 

此时我们可以在目录dir1下看到我们创建的外部表的三个文件

 

 

第二种方式:

第二种方法需要先创建外部表的文件

 

 

可以直接在文件中写入数据

 

 

创建外部表语句

  CREATE TABLE "HR"."EXT_TAB2"

   ( "ID" NUMBER(3,0),

"NAME" VARCHAR2(20 BYTE)

   )

   ORGANIZATION EXTERNAL

    ( TYPE ORACLE_LOADER

      DEFAULT DIRECTORY "DIR1"

      LOCATION

       ( "DIR1":'ext_tab1',

         "DIR1":'ext_tab2'

       )

);

 

 

此时我们在数据库中就可直接查看到刚才shell写入的数据

 

猜你喜欢

转载自blog.csdn.net/qq_42774325/article/details/82023794
今日推荐