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

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 )

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互联网开发者交流社区

SQL中PIVOT和UNPIVOT行列转换

1096
来自专栏Jerry的SAP技术分享

面试问题 - 只用位操作在ABAP里实现a+b

算法描述参考我的SCN博客 Just for fun – Implement a + b using pure bitwise operation in ABA...

3795
来自专栏xingoo, 一个梦想做发明家的程序员

windows程序设计-第四章 system1.c

/*---------------------------------------------------- SYSMETS1.C -- System M...

18310
来自专栏AhDung

【SQL】找出行数与自增标识值不相等的表(即有缺行)

原理:遍历所有含自增列的用户表,用sp_spaceused过程分别获取每张表的行数并写入临时表,然后使用IDENT_CURRENT函数获取表的最大标识值,比较二...

942
来自专栏互联网开发者交流社区

复杂SQL代码实例

942
来自专栏数据库新发现

Oracle9i新特性-使用DBMS_METADATA包获得对象DDL语句

从Oracle9i开始Oracle提供了一个新的系统包DBMS_METADATA,可以用于提取对象创建的DDL语句。

932
来自专栏cmazxiaoma的架构师之路

一个麻瓜的自我反思之SQL语句基础练习

2463
来自专栏软件测试经验与教训

软件测试工程师SQL笔试题

测试人员工作在工作中会用到SQL来辅助测试,求职时也常常会在笔试环节遇到各种各样的sql设计题目,张老师整理了一些工作中常用的sql知识点,希望对大家有所帮助。

1962
来自专栏Java帮帮-微信公众号-技术文章全总结

【数据库】MySQL经典面试题(练习)

【数据库】MySQL经典面试题(练习) 一、删除除了学号字段以外,其它字段都相同的冗余记录,只保留一条!(也就是要删除凤姐和田七中一条重复数据只留一条) ?...

4466
来自专栏你不就像风一样

Mysql字段名与保留字冲突导致的异常解决

652

扫码关注云+社区