原创

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://wxy0327.blog.csdn.net/article/details/53926607

1.用触发器和序列实现

CREATE SEQUENCE u.seq_questionno
START 
WITH 0
MAXVALUE 
999999999999999999999999999
MINVALUE 
0
NOCYCLE
NOCACHE
NOORDER;

CREATE OR REPLACE TRIGGER u.tr1
   BEFORE 
INSERT
   
ON u.t1
   REFERENCING OLD 
AS OLD NEW AS NEW
   
FOR EACH ROW
BEGIN
   
SELECT c1.NEXTVAL
     
INTO :NEW.c1
     
FROM DUAL;
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
)
 

文章最后发布于: 2016-12-29 13:11:29
展开阅读全文
0 个人打赏
私信求帮助

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览