MSSQL 生成唯一自增数据的办法

我的应用场景是多进程并发获取这个计数,且要保证唯一且自增,我用的办法是锁表

 计数表Counter,就一行数据

下面是存储过程

create procedure [dbo].[GetCount]
AS
BEGIN
	begin tran 
		declare @cc int
		select @cc = countnum from Counter with (TABLOCKX)
		set @cc = @cc +1
		update Counter set countnum = @cc
		select @cc
	commit tran
END
GO

程序里直接调用存储过程,获取返回值就是唯一且自增的编号

posted @ 2019-03-21 16:11  小猪39505  阅读(441)  评论(0编辑  收藏  举报