首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Oracle中生成GUID?

如何在Oracle中生成GUID?
EN

Stack Overflow用户
提问于 2010-06-14 21:13:54
回答 7查看 182.1K关注 0票数 97

可以将GUID自动生成到Insert语句中吗?

另外,我应该使用什么类型的字段来存储此GUID?

EN

回答 7

Stack Overflow用户

发布于 2011-05-22 14:33:31

您还可以在表的create语句中包含guid作为默认值,例如:

代码语言:javascript
复制
create table t_sysguid
( id     raw(16) default sys_guid() primary key
, filler varchar2(1000)
)
/

查看此处:http://rwijk.blogspot.com/2009/12/sysguid.html

票数 28
EN

Stack Overflow用户

发布于 2018-05-18 22:24:18

示例位于:http://www.orafaq.com/usenet/comp.databases.oracle.server/2006/12/20/0646.htm

代码语言:javascript
复制
SELECT REGEXP_REPLACE(SYS_GUID(), '(.{8})(.{4})(.{4})(.{4})(.{12})', '\1-\2-\3-\4-\5') MSSQL_GUID  FROM DUAL 

结果:

代码语言:javascript
复制
6C7C9A50-3514-4E77-E053-B30210AC1082 
票数 13
EN

Stack Overflow用户

发布于 2010-06-14 21:25:34

不清楚您所说的将guid自动生成到insert语句中是什么意思,但根据猜测,我认为您正在尝试执行类似以下的操作:

代码语言:javascript
复制
INSERT INTO MY_TAB (ID, NAME) VALUES (SYS_GUID(), 'Adams');
INSERT INTO MY_TAB (ID, NAME) VALUES (SYS_GUID(), 'Baker');

在这种情况下,我认为ID列应该声明为RAW(16);

我做这件事完全是胡思乱想。我没有现成的Oracle实例可供测试,但我认为这正是您想要的。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3037462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档