sqlldr中使用自增序列

问题

接口文件与数据库表比较,少了一个按行自增的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官方手册

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容