求教sql server创建序列,生成流水号,急用 谢谢了 10

字段要求非空;(YYYYMMDDHHMMSS+6位流水号(不足6位前面补0);流水号由序列:SEQ_HA_PERSON_INFO生成(循环,最大值999999)... 字段要求非空;(YYYYMMDDHHMMSS+6位流水号(不足6位前面补0);流水号由序列:SEQ_HA_PERSON_INFO生成(循环,最大值999999) 展开
 我来答
发生等将发生
2014-10-15 · TA获得超过478个赞
知道小有建树答主
回答量:653
采纳率:75%
帮助的人:328万
展开全部
SEQ_HA_PERSON_INFO这个是什么?
既然是流水号,为什么又说由序列SEQ_HA_PERSON_INFO生成?
流水号不是一个个的增加上去的吗?
真心不明白

不过实现的方法2种
1、触发器在插入的时候生成
2、函数,插入前生成,或者插入时生成(直接在vaLues中写上就好)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiewukk
2014-10-15 · TA获得超过3207个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:830万
展开全部
--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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式