要实现如下功能:
    用文本文件a.txt中的所有内容更新数据库中表B中的部分记录(非全部记录)。用sqlldr是否可以实现?该怎么做?不能实现的话该怎么做请指点

解决方案 »

  1.   

    根据a.txt文件做一个ctl文件,用sqlldr把数据导入到一个表里面,在根据这个表更新B表吧.
      

  2.   

    数据库字段内容较多而且有“日期型”、“数值型”、“数值型”等字段类型。
    Load data
    infile 'D:\1.txt'
    REPLACE
    into table mid_tmp
    fields terminated by X'09' 
    (GROUP,COMID,CONID,CHINESE_NAME,ADDRESS,PCNUM,UPDATE_TIME,DATA_STATE)其中PCNUM,DATA_STATE为number型,UPDATE_TIME为date型。其他为nvarchar2(500)
    如上的.ctl文件应该怎样指定数据类型使得导入能够成功?(当前错误原因是数据库表mid_tmp字段类型多样造成的)
      

  3.   

    LOAD DATA
            INFILE '1.txt'
            BADFILE 'testLoad'    -- 无法插入的记录被放入该文件中
            APPEND
            INTO TABLE mid_tmp
            TRAILING NULLCOLS
            (
                    A        POSITION(1:0) INTEGER EXTERNAL,
                    B        POSITION(2:10) CHAR 'upper(:f2)',  -- 可以使用oracle的函数,但不能使用伪列
                    C        POSITION(10:19) DATE 'YYYY-MM-DD'  -- 日期格式 如:2007-05-05 如果是20070505就用'YYYYMMDD'
            )