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