zoukankan      html  css  js  c++  java
  • Oracle外部表的使用

    外部表可以像其它表一样,用select语句作查询。但不能做DML操作,不能建index,不接受约束。这是因为它不是以段的形式存于数据库中,只是以数据字典构造存在,指向一个或多个操作系统文件。

    外部表的使用涉及到目录的概念——是DBA在数据库中创建的指向物理路径的目录。

    1. 创建时不会验证目录是否存在或是否有相关目录的权限。若不存在或没权限,则使用目录时报错。

    2. 目录归sys所有,即使scott有目录的创建权限,是目录的创建者,但也不能删除目录。

    • 目录授权

    conn / as sysdba

    grant create any directory to scott;

    select * from all_directories where directory_name='SCOTT_DIR';
    OWNER                          DIRECTORY_NAME                 DIRECTORY_PATH
    ------------------------------ ------------------------------ ---------------
    SYS                                    SCOTT_DIR                                 K:DBscript

     

    • 目录创建

    create or replace directory ext_dir as 'K:/DB/script';

     

    • 外部表创建

    create table t_ext_tab(id char(1),name char(6))
    organization external(
        type oracle_loader
        default directory scott_dir
        access parameters(
            records delimited by newline
            fields terminated by '#'
        )
        location ('ext.tab')
    );

     

    ext.tab里的内容如下:

    1#tough1
    2#tough2
    3#tough3

     

    • 外部表查询:

    select * from t_ext_tab;

    ID NAME
    1 tough1
    2 tough2
    3 tough3

     

    • 不可以对外部表进行DML操作

    SQL> insert into t_ext_tab values (1,'Tough4');
    insert into t_ext_tab values (1,'Tough4')
                *
    第 1 行出现错误:
    ORA-30657: 操作在外部组织表上不受支持


    SQL> update t_ext_tab set name='Tough';
    update t_ext_tab set name='Tough'
           *
    第 1 行出现错误:
    ORA-30657: 操作在外部组织表上不受支持


    SQL> delete from t_ext_tab;
    delete from t_ext_tab
                *
    第 1 行出现错误:
    ORA-30657: 操作在外部组织表上不受支持

     

    此文只是介绍了oracle外部表的简单用法。还有很多关于外部表的用法可以参考:

    http://docs.oracle.com/cd/B14117_01/server.101/b10825/et_params.htm

     


     

  • 相关阅读:
    ASP.NET MVC案例教程(一)
    大型网站架构演变和知识体系
    Windows下的.NET+ Memcached安装
    ASP.NET MVC案例教程(基于ASP.NET MVC beta)
    JS调用webservice的通用函数。
    ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第五篇:MVC整合Ajax
    自己实现memcached客户端库
    ASP.NET 2.0防止同一用户同时登陆
    cookie,dom,css,js实现页面换肤
    在线编辑器实现原理(兼容IE和FireFox)
  • 原文地址:https://www.cnblogs.com/toughhou/p/3778800.html
Copyright © 2011-2022 走看看