求教sql server创建序列,生成流水号,急用 谢谢了 10
字段要求非空;(YYYYMMDDHHMMSS+6位流水号(不足6位前面补0);流水号由序列:SEQ_HA_PERSON_INFO生成(循环,最大值999999)...
字段要求非空;(YYYYMMDDHHMMSS+6位流水号(不足6位前面补0);流水号由序列:SEQ_HA_PERSON_INFO生成(循环,最大值999999)
展开
2个回答
展开全部
SEQ_HA_PERSON_INFO这个是什么?
既然是流水号,为什么又说由序列SEQ_HA_PERSON_INFO生成?
流水号不是一个个的增加上去的吗?
真心不明白
不过实现的方法2种
1、触发器在插入的时候生成
2、函数,插入前生成,或者插入时生成(直接在vaLues中写上就好)
既然是流水号,为什么又说由序列SEQ_HA_PERSON_INFO生成?
流水号不是一个个的增加上去的吗?
真心不明白
不过实现的方法2种
1、触发器在插入的时候生成
2、函数,插入前生成,或者插入时生成(直接在vaLues中写上就好)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
--YYYYMMDDHHMMSS+6位流水号
--再根据你自己的要求修改下,基本实现方法都出来了
declare @flowID nvarchar(6),
@YMD nvarchar(8),
@HMS nvarchar(6),
@id nvarchar(20)
set @flowID=1
select @YMD=convert(char(8),getdate(),112)
select @HMS= case when len(DATENAME(HH,getdate()))=1 then '0'+DATENAME(HH,getdate()) else DATENAME(HH,getdate()) end
+case when len(DATENAME(MM,getdate()))=1 then '0'+DATENAME(MM,getdate()) else DATENAME(MM,getdate()) end
+case when len(DATENAME(SS,getdate()))=1 then '0'+DATENAME(SS,getdate()) else DATENAME(SS,getdate()) end
select @id=@YMD+ @HMS+replicate('0',6-len(@flowID))+@flowID
select @id
--再根据你自己的要求修改下,基本实现方法都出来了
declare @flowID nvarchar(6),
@YMD nvarchar(8),
@HMS nvarchar(6),
@id nvarchar(20)
set @flowID=1
select @YMD=convert(char(8),getdate(),112)
select @HMS= case when len(DATENAME(HH,getdate()))=1 then '0'+DATENAME(HH,getdate()) else DATENAME(HH,getdate()) end
+case when len(DATENAME(MM,getdate()))=1 then '0'+DATENAME(MM,getdate()) else DATENAME(MM,getdate()) end
+case when len(DATENAME(SS,getdate()))=1 then '0'+DATENAME(SS,getdate()) else DATENAME(SS,getdate()) end
select @id=@YMD+ @HMS+replicate('0',6-len(@flowID))+@flowID
select @id
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询