甲骨文生成uuid、查询uuid

  

如果还没有创建表,那么使用下面的方式创建就可以了。
create table testuu (
id varchar2(2000)默认sys_guid (),
名称varchar2 (2000));

  

如果已经创建了表,那么先保证你原有的主键ID没有任何实际的业务意义,要修改的话使用下面的方法。
alter table testuu修改ID默认sys_guid ();
更新testuu组ID=sys_guid ();
甲骨文新建系统表时,要求主键为32位uuid,猜测甲骨文肯定会提供相关的函数。

  

翻阅相关文档,果然发现甲骨文提供的函数sys_guid()用于获取32位uuid,简单使用为

  从双

选择sys_guid ();

  

该函数返回32位的uuid为大写,可以使用低(sys_guid())转为小写。

  

甲骨文中生成跨系统的唯一识别符UUID非常方便,比生成序列还简单,直接用sys_guid()就行,

  

例如选择sys_guid()双会产生一个跟MAC地址,生成时间相关的一个32位16进制的随机数。

  

数据类型是生(16)有32个字符。

  

它的生成机制足以保证全球所有系统产生的海量guid重复可能性非常小。这在AIXM概念中非常重要。

  

根据时间拼接:
选择低(sys_guid ()) | | to_char (sysdate, yyyyMMddHh34miss)双重;

  

如果要让返回的uuid满足标准格式,可利用如下函数实现:

  

创建或替换函数
get_uuid返回VARCHAR guid VARCHAR (50);
开始guid:=低(RAWTOHEX (sys_guid ()));
返回字符串的子串(guid 1 8) | |”——“| | substr (guid 9 4) | |”——“| | substr (guid 13 4) | |”——“| | substr (guid, 17岁,4)| |”——“| | substr (guid, 21日12);
结束get_uuid;

  

完成从双重选择get_uuid;

  

GET_UUID

  

a8f662b8 - 6 - e7a - 13 - fe - e040 - 970 a437c6bd7

甲骨文生成uuid、查询uuid