SQLServer2005 的查询独占模拟 |
对于应用来说,我并不提倡人为给记录加锁,这样会惹来很多麻烦,况且锁并不能解决所有问题,如果你有这方面好的经验我们可以进一步交流 。 对于应用来说,我并不提倡人为给记录加锁,这样会惹来很多麻烦,况且锁并不能解决所有问题,如果你有这方面好的经验我们可以进一步交流 。 复制代码 代码如下: set nocount on use tempdb go if (object_id (tb ) is not null ) drop table tb go create table tb (id int identity (1 , 1 ), name varchar (10 ), tag int default 0 ) insert into tb (name ) select a insert into tb (name ) select b insert into tb (name ) select c insert into tb (name ) select d insert into tb (name ) select e go update top (2 ) tb with (rowlock , readpast ) set tag = 1 output inserted . id , inserted . name where tag = 0 go update top (2 ) tb with (rowlock , readpast ) set tag = 1 output inserted . id , inserted . name where tag = 0 go update top (2 ) tb with (rowlock , readpast ) set tag = 1 output inserted . id , inserted . name where tag = 0 go set nocount off /* id name ----------- ---------- 1 a 2 b id name ----------- ---------- 3 c 4 d id name ----------- ---------- 5 e */ 如果你有更好的建议,我们不妨探讨一下 。 |