先不管ID 把其他字段的数据导入
再加上序列
update table_name
set id=rownum

解决方案 »

  1.   

    否定楼上的做法,很浪费时间和空间,还耗费资源。载入每行的行号
    load data  
    infile *
    replace into table t
    ( seqno RECNUM //载入每行的行号  
    text Position(1:1024))  
    BEGINDATA  
    fsdfasj //自动分配一行号给载入 表t 的seqno字段 此行为 1  
    fasdjfasdfl // 此行为 2关键在于那个 RECNUM
      

  2.   

    上述方案适用于一次性加载,如果需要多次加载的话,不能用,因为行号每次都是从1开始多次加载可以:1、建序列 SEQ_ID
    2、在控制文件中指定 ID "SEQ_ID.NEXTVAL"但是这种情况下,一定要把 ID 字段放在控制文件最后,而且要使用 TRAILING NULLCOLS例如:
    LOAD DATA
    INFILE *
    APPEND INTO TABLE A
    FIELDS TERMINATED BY X'09' OPTIONALLY ENCLOSED BY '"'
    TRAILING NULLCOLS
    (NAME,
    ID "SEQ_ID.NEXTVAL"
    )
    BEGINDATA
    "JONE"
    "JOKE"
    "JACK"