流水号 重复问题

骑牛上铂金 2014-01-11 10:07:34
一个表 T1 用来存放流水号
sType sNo
zc 99
sy 10

取流水号时 SELECT sNo+1 from t1 where sType='zc'
然后 update t1 set sNo=sNo+1 where sType='zc'

但是如果多用户并发时,取出的流水号就有可能重复,请问该如何处理?
...全文
243 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2014-01-13
  • 打赏
  • 举报
回复
Persistence_x 2014-01-13
  • 打赏
  • 举报
回复
放一个事务中,可以使用行级锁
tangxu12 2014-01-12
  • 打赏
  • 举报
回复
max最大值+1
lzw_0736 2014-01-11
  • 打赏
  • 举报
回复

declare @tb table (流水号 int)
update t1 set sNo=sNo+1 output inserted.sNo into @tb where  sType='zc'
select 流水号 from @tb
tcmakebest 2014-01-11
  • 打赏
  • 举报
回复
这流水号设计得够烂的,都不用插入语句的.把这两句放一起执行试一试 string sql=@" update t1 set sno=sno+1 where stype='zc' select sno from stype='zc' ";

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧