`
king_tt
  • 浏览: 2125762 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle sql loader 导数据时添加序号的三种方法

阅读更多

1.用触发器和序列实现

CREATESEQUENCEu.seq_questionno
START
WITH0
MAXVALUE
999999999999999999999999999
MINVALUE
0
NOCYCLE
NOCACHE
NOORDER;

CREATEORREPLACETRIGGERu.tr1
BEFORE
INSERT
ONu.t1
REFERENCINGOLD
ASOLDNEWASNEW
FOREACHROW
BEGIN
SELECTc1.NEXTVAL
INTO:NEW.c1
FROMDUAL;
END;

控制文件:

LOAD DATA
INFILE 'G:a.txt'
BADFILE 'G:a.bad'
DISCARDFILE 'G:a.dsc'

INTO TABLE "T1"
APPEND
FIELDS TERMINATED BY X'9'
TRAILING NULLCOLS
(
C2,
C3,
C4,
C5
-- C1
)

2.直接在控制文件中加入序列

LOAD DATA
INFILE 'G:a.txt'
BADFILE 'G:a.bad'
DISCARDFILE 'G:a.dsc'

INTO TABLE "T1"
APPEND
FIELDS TERMINATED BY X'9'
TRAILING NULLCOLS
(
C2,
C3,
C4,
C5,
C1 "SEQ_QUESTIONNO.nextval"
)

3.不用序列,在控制文件中使用 RECNUM

LOAD DATA
INFILE 'G:a.txt'
BADFILE 'G:a.bad'
DISCARDFILE 'G:a.dsc'

INTO TABLE "T1"
APPEND
FIELDS TERMINATED BY X'9'
TRAILING NULLCOLS
(
C1 RECNUM,
C2,
C3,
C4,
C5
)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics