服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|

服务器之家 - 数据库 - Mysql - sql 流水号获取代码实例

sql 流水号获取代码实例

2020-12-03 15:34lcawen Mysql

这篇文章主要介绍了sql 流水号获取代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了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

延伸 · 阅读

精彩推荐