`
Sunshyfangtian
  • 浏览: 228661 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

流水号问题

 
阅读更多

整型字段的流水号问题解决方案

1.根据inv_code和bid_userid从表zsq_bid_info读取最高的版本号ver_no(类型为tinyint),如果该表为空,则将当前最高的版本号标记为0:
select cast(isnull(max(ver_no),0) as int) from zsq_bid_info where inv_code='2010-HASQ-0001' and bid_userid = 'SQ00001'

 

 

字符型字段的流水号问题解决方案

2.问题:产生规则:SQ+5位的流水数字(如:SQ0001)。
应用:用户向表zsq_inv_user注册时,若表为空,则该注册用户的账号(inv_userid)应为SQ0001;若表存在SQ0001,……,SQ0033等账号,则当前注册用户的账号(inv_userid)应为SQ0034。
解决方案:新注册用户的账号通过如下语句产生
select 'SQ'+ substring(cast(cast(isnull(max(substring(inv_userid,2,4)),0) as int)+10001 as char(5)),2,4) 
from zsq_inv_user
where substring(inv_userid,1,1)= 'SQ'

 

3.问题:产生规则:年度+'-'+文件类型代碼+'SQ'+'-'+4位流水号(如: 2010-HASQ-0001)。
应用:类似上一个问题,同样要先判空,“类型代码”是可变的,这里假定为“HA”
解决方案:新文件编号通过如下语句产生

select cast(year(getdate()) as char(4))+'-'+'HA'+'SQ'+'-'+
substring(cast(cast(isnull(max(substring(inv_code,11,4)),0) as int)+10001 as char(5)),2,4)
from zsq_inv_info
where inv_type='HA' and substring(inv_code,1,4)=year(getdate())

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics