【 tulaoshi.com - 编程语言 】
                             
                            对于应用来说,我并不提倡人为给记录加锁,这样会惹来很多麻烦,况且锁并不能解决所有问题,如果你有这方面好的经验我们可以进一步交流。 
对于应用来说,我并不提倡人为给记录加锁,这样会惹来很多麻烦,况且锁并不能解决所有问题,如果你有这方面好的经验我们可以进一步交流。 
代码如下: 
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 
*/  
如果你有更好的建议,我们不妨探讨一下。