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))