先取数据,然后更新字段,要不可重复读,应该怎么做?
有一个表,某个字段,要获得唯一的值。
我用存储过程,先读,然后马上更新,把两个语句放到一个事务里。
可我写了个多线程访问的测试例子,取出的数据有重复?应该怎么做呢?
先update,然后在select?
还是给select升级锁?如果升级怎么写?
路过的各位,帮帮忙吧!!谢谢了。
------解决方案--------------------
SQL code
SELECT * FROM tb WITH(XLOCK)
------解决方案--------------------
用排他锁XLOCK