Oracle 中使用GUID

在Oracle 中虽然也有sys_guid() 函数可以生成GUID,但是与实际使用的格式有区别,为了满足需求,我们这里可以对函数进行封装处理

create or replace function getGUID return varchar2
as
  str varchar2(50);
  rt varchar2(50);
begin
  select sys_guid() into str from dual;
  select substr(str,1,8)||'-'||substr(str,9,4)||'-'||substr(str,13,4)||'-'||substr(str,17,4)||'-'||substr(str,21,12) into rt from dual;
  return rt;
end;

select getguid() from dual;  --测试
create table tmp01(id varchar2(50),name varchar2(30));  --建表
create trigger mytrigger  before insert on tmp01  --建触发器
for each row
begin
  select getguid() into :new.id from dual;
end;
insert into tmp01 values(null,'item1');
commit;
select * from tmp01;
  • 效果
posted @   丹心石  阅读(388)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示