数字型GUID

oracle 数据库生成序列号时,同事提个变态需求,不能重复,不要GUID,可以不按顺序增长,说白了就是数字类型的GUID呗。

因为调用存储过程时单线程调用,自己想个办法,当前时间精确到毫秒加上三位随机数。

to_char(systimestamp, 'yymmddhh24missff3') || TRUNC(100+999*dbms_random.value);

但是如果多线程模式就有可能不行了,虽然概率非常,非常小,但是干技术的不就是喜欢较劲嘛,还是可以百度一下,还真能找到办法。

to_char(to_number(SYS_GUID(),rpad('x',32,'x')) * (-1));

现在的程序员还是比较好的做的,个人感觉主要工作就是两件事,1.配置环境,2.重复实现业务代码,剩下的工作就是上百度不断的撸。

还有,不要认为百度撸出来的代码就很lower,其实真不一定,代码好不好只与个人有关系。一般来说,喜欢说自己代码写得好的人写出来机器识别没有问题,人去读就有点麻烦了,而那些说自己代码写得一般般的人,写出来的代码倒是能大概看明白。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值