1、在Oracle SQL 提供了一个生成uuid的函数sys_guid:
SQL> select sys_guid() from dual ;
SYS_GUID()
CBD38B8F81A4447AAE2D343D1AE09972
2、为了使产生的uuid符合rfc 4122的标准
创建函数如下,测试通过。
CREATE OR REPLACE
FUNCTION getuuid
RETURN VARCHAR
IS
guid VARCHAR (50);
BEGIN
guid := lower(RAWTOHEX(sys_guid()));
RETURN
substr(guid,1,8)||'-'||substr(guid,9,4)||'-'||substr(guid,13,4)||'-'||substr(guid,17,4)||'-'||substr(guid,21,12);
END getuuid;
SQL> select getuuid from dual ;
GET_UUID
--------------------------------------------------------------------------------
5ce0830e-d399-49f8-a68b-c761fca05140
SQL> select sys_guid() from dual ;
SYS_GUID()
CBD38B8F81A4447AAE2D343D1AE09972
2、为了使产生的uuid符合rfc 4122的标准
创建函数如下,测试通过。
CREATE OR REPLACE
FUNCTION getuuid
RETURN VARCHAR
IS
guid VARCHAR (50);
BEGIN
guid := lower(RAWTOHEX(sys_guid()));
RETURN
substr(guid,1,8)||'-'||substr(guid,9,4)||'-'||substr(guid,13,4)||'-'||substr(guid,17,4)||'-'||substr(guid,21,12);
END getuuid;
SQL> select getuuid from dual ;
GET_UUID
--------------------------------------------------------------------------------
5ce0830e-d399-49f8-a68b-c761fca05140