自定义主键自增规则 Oracle Mssql(全库唯一标识)

Oracle 

DROP SEQUENCE intid; 
--创建
CREATE SEQUENCE intid
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
MAXvalue 100000000000-- 不设置最大值
CYCLE -- 一直累加,不循环
NOCACHE ; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE

--使用 select to_char(sysdate,'YYYYMMDD')||to_char(intid.nextval, 'FM099999999999') a from dual

Mssql

--创建
CREATE
SEQUENCE [dbo].[intid] AS [bigint] START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 100000000000 CYCLE CACHE GO
--使用 select cast(cast(CONVERT(varchar(8), getdate(), 112) + '000000000000' as decimal(20,0))+(next value for dbo.intid) as char(20))

 

posted @ 2017-03-28 14:10  JasonGu0  阅读(224)  评论(0编辑  收藏  举报