甲骨文创建自增长主键的方法

  介绍

这篇文章将为大家详细讲解有关甲骨文创建自增长主键的方法,文章内容质量较高,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

<强>甲骨文创建自增长的步骤:

创建自增长序列

——创建自增长序列   创建序列seq_on_chance_contract   增加1——每次加1   从1开始,从1开始计数   nomaxvalue——不设置最大值   nocycle——一直累加   nocache;

创建数据表

主键可以使用整数和号码,若系统使用Hibernate作为ORM框架则不推荐使用数

TBL_CHANCE_CONTRACT创建表   (   ID的整数主键,   CHANCE_SUCCESS_ID VARCHAR2(50)非空,   内容CLOB,   CREATE_USER_ID VARCHAR2 (50),   CREATA_USER_NAME VARCHAR2 (80),   CREATE_DATE时间戳(6)   )

创建主键触发器,以便新增记录的时候不需要管理ID主键

——创建主键触发器   创建或替换触发tg_on_id_chance_contract   之前插入>——查找所有序列,表   select * from user_object瑞银(ubs);   ——查找所有序列   select * from user_object瑞银ubs.OBJECT_TYPE=& # 39;序列# 39;;

查看当前序列到了多少

选择seq_on_chance_contract。从双nextval;   选择seq_on_chance_contract。从双currval;

重置序列

一般重置序列是需要删除序列然后重建,但是这样比较麻烦,在不删除序列的情况下有以下2中方式:

1,利用步长参数,先查出序列的nextval记住,把递增改为负的这个值(反过来走),然后再改回来。

假设需要修改的序列名seq_on_chance_contract

——重置序列   选择seq_on_chance_contract。从双nextval;——假设得到结果n   改变序列seq_on_chance_contract增量除以2;——注意是- (n - 1)   选择seq_on_chance_contract。从双nextval;——再查一遍,走一下,重置为1了   改变序列seq_on_chance_contract增加1;——还原

2,利用存储过程实现(v_seqname)

创建或替换过程seq_reset (v_seqname varchar2)和n (10);   tsql varchar2 (100);   开始   立即执行& # 39;选择& # 39;| | v_seqname | | & # 39;。从双nextval # 39;n;   n:=- (n - 1);   tsql:=& # 39;改变序列& # 39;| | v_seqname | | & # 39;增量的& # 39;| | n;   执行直接tsql;   立即执行& # 39;选择& # 39;| | v_seqname | | & # 39;。从双nextval # 39;n;   tsql:=& # 39;改变序列& # 39;| | v_seqname | | & # 39;增加1 & # 39;;   执行直接tsql;   seq_reset;

然后调用存储过程:

exec seq_reset (& # 39; v_seqname& # 39;);

主键(主键)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录只甲骨文主键常用的分为UUID和自增长整型两种,下面简单说下各自的优缺点。

UUID的优点

1,生成方便,不管是通过sys_guid()还是java的UUID都能很方便的创建UUID。

2,适合批量数据中的插入和更新操作。

3,跨服务器数据合并非常方便。

int自增长的优点

1,占用空间小

2、性能好,UUID跟int比起来不在一个级别上

3,容易记忆

他们各自的优点就是彼此的缺点

适用范围:

一般在分布式环境中使用UUID作为唯一主键,至于其他项目本人强烈建议使用int作为主键。

PS:最近我的一个分布式项目在周末访问高峰期也是会出现UUID重复的情况,所以UUID号称的全球唯一ID这个优点我没写上去,而我们可以使用饲养员作为主键生成器创建int类型的唯一主键,这是完全没有问题的。

所以综上我还是建议所有的主键都应该使用int类型,在千万级别的数据量上int类型的优点尤为明显。

以上就是甲骨文创建自增长主键的方法,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注行业资讯,感谢各位的阅读。

甲骨文创建自增长主键的方法