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官方手冊

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容