流水号 重复问题
一个表 T1 用来存放流水号
sType sNo
zc 99
sy 10
取流水号时 SELECT sNo+1 from t1 where sType='zc'
然后 update t1 set sNo=sNo+1 where sType='zc'
但是如果多用户并发时,取出的流水号就有可能重复,请问该如何处理?
------解决方案--------------------这流水号设计得够烂的,都不用插入语句的.把这两句放一起执行试一试
string sql=@"
update t1 set sno=sno+1 where stype='zc'
select sno from stype='zc'
";
------解决方案--------------------
declare @tb table (流水号 int)
update t1 set sNo=sNo+1 output inserted.sNo into @tb where sType='zc'
select 流水号 from @tb
------解决方案--------------------可以参考一下我的文章:http://blog.csdn.net/dba_huangzj/article/details/7685162