oracle大数据量写入时主键冲突,如何解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle大数据量写入时主键冲突,如何解决相关的知识,希望对你有一定的参考价值。

参考技术A 大数据量提交可能会造成系统瘫痪,所以不建议这样做。
如果有需要,可以在导出insert语句的时候分批次commit(提交)。
方法如下:
1、登录plsql,进入导出表

2、选择要导出的表,然后下图位置根据需要写上每次多少行提交,选择导出路径,点击导出即可

Oracle建表时主键自增

1、创建表

1 /*第一步:创建表格*/
2 create table t_user(
3        id int primary key,     --主键,自增长
4        username varchar(20),
5        password varchar(20),
6        type varchar(20)
7 );

 

2、创建自增序列信息

1 /*第二步:建立自定义的sequence*/
2 CREATE SEQUENCE user_sequence
3 increment by 1                  -- 每次加几个
4 start with 1                    -- 从1开始计数
5 nomaxvalue                      -- 不设置最大值
6 nocycle                         -- 一直累加,不循环
7 nocache                         -- 不建缓冲区

 

3、建立触发器

1 /*第三步:建立触发器*/
2 create trigger mem_trig before
3 insert on t_user for each row when (new.id is null)
4 begin
5  
6  select user_sequence.nextval into:new.id from dual;
7  
8 end;

 

4、添加数据

1 /*第四步:插入数据*/
2 insert into t_user values(null,aaa,aaa,admin);
3 insert into t_user values(null,bbb,bbb,user);
4 insert into t_user values(null,ccc,ccc,admin);
5 insert into t_user values(null,ddd,ddd,user);

 

5、测试结果

   ID   USERNAME  PASSWORD     TYPE
1 1 aaa    aaa    admin 2 2 bbb    bbb    user 3 3 ccc    ccc    admin 4 4 ddd   ddd    user

以上是关于oracle大数据量写入时主键冲突,如何解决的主要内容,如果未能解决你的问题,请参考以下文章

为啥我使用xmlhttprequest抓取数据时主键跳转量大?

mybatis中(Oracle)关于insert时主键自动加1的使用方法

Oracle+Entity Framework主键冲突

如何向Oracle数据库表中进行大数据量的插入并提交?

Oracle merge into 的效率问题

oracle占用的空间特别大,该如何解决?