DB2生成类似UUID的字符串GENERATE_UNIQUE()

在生成诸如主键之类的字符串时, 以前我常用identity, 遗憾这类identity做外键时由于需要数据库迁移而导致发生变化, 不可靠, 因此UUID是一个不错的选择, 虽然性能差了一些.

 

可惜DB2不提供生成UUID的方法, 但是提供了GENERATE_UNIQUE()函数来生成唯一字符串, 但是要求也不少.

首先使用GENERATE_UNIQUE()函数生成的unique ID的列必须声明为FOR BIT DATA, 即在建表的时候需要指定该column为FOR BIT DATA类型.

 

在插入数据的时候, 直接使用GENERATE_UNIQUE()函数就可以了.

 

步骤如下, 首先定义一个TEST表

CREATE TABLE test(unique_id CHAR(13) FOR BIT DATA, name VARCHAR(20)

 

然后测试插入数据

INSERT INTO test VALUES(GENERATE_UNIQUE(), 'Alex')

 

select查询数据得到

UNIQUE_ID                                   NAME
-----------------------------               --------------------
x'20140303070226123986000000'               Alex

 

详细解释在infocenter

http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/index.jsp

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值