oracle生成主键唯一的id,函数SYS_GUID()

Posted 万里哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle生成主键唯一的id,函数SYS_GUID()相关的知识,希望对你有一定的参考价值。

oracle生成不重复字符串 

在oracle8i以后提供了一个生成不重复的数据的一个函数sys_guid()一共32位,生成的依据主要是时间和机器码,具有世界唯一性,类似于java中的UUID(都是世界唯一的)。

其优点就是生成的字符串是唯一的,但其和UUID有同样的弊端:生成的序列过长并且没有规律不方便记忆。

其应用场景:当数据库某字段设置为唯一,则可用次生成(比如主键);

获取方式 select sys_guid() from dual ;

例如:

INSERT INTO usertable (id,project_id,subject_num,create_time) selectsys_guid(),#{projectId},COMID,sysdate from User where industry =1111111

 

 

以上是关于oracle生成主键唯一的id,函数SYS_GUID()的主要内容,如果未能解决你的问题,请参考以下文章

Oracle Id生成算法 —— 雪花算法

Hibernate3主键生成策略

给oracle当主键,随机生成32位字符串,求代码

mysql的主键是自动增长的,oracle的主键是起啥作用的

怎样在oracle中创建主外键和唯一约束

Oracle (ORA-02270):该列列表没有匹配的唯一键或主键