• oracle外部表,为你保存数据提供了另类的选择


    oracle为外部表主要提供了两种驱动
    1. the loader access driver, or ORACLE_LOADER
    2. the import/export access driver, or ORACLE_INTERNAL
    试验过程如下:

    1.首先为用户scott付权限create any directory
    grant create any directory to scott with admin option;

    2.建默认目录
    select * from all_directories ;
    create directory emp_dir as 'C:\TEMP' ;

    3.建外部表的语句
    CREATE TABLE oldemp (
    empno NUMBER, empname CHAR(20), birthdate DATE)
    ORGANIZATION EXTERNAL
    (TYPE ORACLE_LOADER
     DEFAULT DIRECTORY emp_dir
     ACCESS PARAMETERS
      (RECORDS DELIMITED BY NEWLINE
       BADFILE 'bad_emp'
       LOGFILE 'log_emp'
       FIELDS TERMINATED BY ','
        (empno CHAR,
         empname CHAR,
         birthdate CHAR
         date_format date mask "dd-mon-yyyy"
        )
      )
    LOCATION ('emp1.txt')
    )
    PARALLEL 5
    REJECT LIMIT 200;

    4.因为外部表是只读的,无法进行DML操作,并且无法建索引,所以我们只能直接编辑保存外部表的文件。
    在emp1.txt里面加入两行,如下,注意日期的格式收nls_database_parameters里面的NLS_DATE_LANGUAGE的影响
    7369,SMITH,17-DEC-1950
    7499,ALLEN,20-FEB-1951

    5.查询外部表
    select * from oldemp ;

    6.管理外部表
    select * from DBA_EXTERNAL_TABLES ;
    select * from DBA_EXTERNAL_LOCATIONS ;

    补充一下:如果发现有错误,请查看这两个文件BADFILE 'bad_emp',LOGFILE 'log_emp'

  • 相关阅读:
    阶梯电价、提成、个税计算公式思路解析
    Java单元测试(Junit+Mock+代码覆盖率)
    Spring Cache抽象详解
    关于String 后面跟省略号。。。
    centOS上安装redis
    使用 JMeter 完成常用的压力测试
    调用 jdbcTemplate.queryForList 时出现错误 spring-org.springframework.jdbc.IncorrectResultSetColumnCountException
    C/C++log日志库比较
    QT中使用MinGW 编译的protobuf库--包含库的生成和使用
    win10 下 protobuf 与 qt
  • 原文地址:https://www.cnblogs.com/caibird2005/p/1372957.html
Copyright © 2020-2023  润新知