美文网首页
sqlldr中使用自增序列

sqlldr中使用自增序列

作者: 是阿离 | 来源:发表于2017-08-14 19:58 被阅读0次

    问题

    接口文件与数据库表比较,少了一个按行自增的eventId,打算在使用sqlldr时直接加上这个自增字段

    解决

    1、 使用sqlldr中序列函数:

        options(skip = 0) 
        load data
        infile 'insertFileName'
        append into table insertTableName
        fields terminated by ','
        TRAILING NULLCOLS
        (
        prov_id        ,
        city_id        ,
        start_time     ,
        end_time       ,
        rate_time "to_date(\''''+fileDate+'''040000', 'yyyymmddhh24miss')" ,
        file_name constant "'''+insertFileName+'''" ,
        event_id sequence(max,1) 
        )
    

    其中:

    • skip表示开头要跳过几条记录(默认值为0,即从第一条记录开始);
    • constant表示使用常量值填充file_name
    • sequence(max, 1)表示使用序列号从1开始逐条递增

    2、使用oracle中的sequence,待验证

    参考文章

    sqlldr 中使用sequence
    ORACLE官方手册

    相关文章

      网友评论

          本文标题:sqlldr中使用自增序列

          本文链接:https://www.haomeiwen.com/subject/vzxprxtx.html