这篇文章主要介绍了sql 流水号获取代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
经常用到产生订单号等流水单号的场景,sqlserver实现流水号,如下:
表tb_b_Seq(流水号表):
1
2
3
4
5
6
|
CREATE TABLE tb_b_Seq( Year int , --年份 Month int , --月份 Attr varchar (50), --属性 Seq int --流水号 ) |
获取流水号,通过存储过程:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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 |
测试:
1
2
3
|
declare @ret int exec GetSeq 'Contract' ,2017,10,@ret print @ret |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/lcawen/p/7660716.html