生成UUID的Oracle数据库函数

时间:2022-01-14 14:55:30

场景:

开发中表主键由uuid时,插入测试数据,会为构建主键发愁。

解决:

可以创建生成类似风格的函数。


格式一:(a4cec40094204916913cff9d75ba4cc2)

create or replace function GET_GUID return varchar2 is
guid varchar2(50);
begin
guid := lower(sys_guid());
return guid;
end GET_GUID;

格式二:(55854de8-76f5-4bbb-9baf-1a47672d1216)

create or replace function GET_UUID return varchar2 is
guid varchar2(50);
rslt varchar2(50);
begin
guid := lower(sys_guid());
rslt := substr(guid, 1, 8) || '-' || substr(guid, 9, 4) || '-' ||
substr(guid, 13, 4) || '-' || substr(guid, 17, 4) || '-' ||
substr(guid, 21, 12);
return rslt;
end GET_UUID;

插入语句:

insert into account
(id, create_date, modify_date, platform, userno)
values
(get_uuid, sysdate, sysdate, v_platform, v_userno);