读书人

求这个怪异有关问题的解释,高人进来看

发布时间: 2012-03-11 18:15:39 作者: rapoo

求这个怪异问题的解释,高人进来看看

有表LastID
表中有字段 LastID(int) Tbname(varchar)

我有一个函数去执行这一个语句.

Update LastID Set LastID=LastID+1 Where Tbname='WorkGroup' ;Select LastID From LastID WITH (TABLOCKX) Where Tbname='WorkGroup'

按理说,每执行一次LastID都会加1

但是,居然重复了.概率非常小,两年了,出现了一次.



[解决办法]
并发了?
[解决办法]
Update LastID Set LastID=LastID+1 Where Tbname='WorkGroup'
重复是什么意思?貌似你这个是'WorkGroup'的全部+1的。
[解决办法]
每次都+1,你是如何看出来重复的呢?
[解决办法]
declare @lastid int
Update LastID Set LastID=LastID+1 , @lastid = LastID+1 Where Tbname='WorkGroup' ;
select @lastid ;

我想这样应当可行
[解决办法]
加个UNIQUE不就可以了?
[解决办法]
update要加个排它锁吧。
[解决办法]

如需要阅读该回复,请登录或注册CSDN!


[解决办法]

如需要阅读该回复,请登录或注册CSDN!

读书人网 >SQL Server

热点推荐