sql 流水号获取

经常用到产生订单号等流水单号的场景,sqlserver实现流水号,如下:

表tb_b_Seq(流水号表):

CREATE TABLE tb_b_Seq( 
Year int ,--年份 
Month int,--月份 
Attr varchar(50),--属性 
Seq int--流水号 
) 

 

获取流水号,通过存储过程:

create Proc GetSeq ( 
@attr varchar(50),
@year int, 
@month int, 
@Return int output ) 
As 
set @Return=(select top 1 Seq from tb_b_Seq where Attr=@attr and MONTH=@month and YEAR=@year) 
if(@Return is null) 
begin 
    set @Return=1 
    insert into FMDS_tb_b_Seq (Attr,Year,Month,Seq) values (@attr,@year,@month,@Return) 
end 
else 
begin 
    set @Return=@Return+1 
    update FMDS_tb_b_Seq set Seq=@Return where Attr=@attr and MONTH=@month and YEAR=@year 
end

 测试: 

declare @ret int 
exec GetSeq 'Contract',2017,10,@ret 
print @ret

 

转载于:https://www.cnblogs.com/lcawen/p/7660716.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值