2013-07-23 75 views
1

我想从我的数据库中选择代码,但我不需要另一个人前来,选择相同的代码,然后我有机会更新它们。我试过只使用updlock,这解决了我的重复销售问题,但它增加了死锁问题。所以现在我正在使用(UPDLOCK,READPAST),直到我尝试在我的语句中使用ORDER BY时,它的工作情况非常好。使用(UPDLOCK,READPAST)和ORDER BY - 不工作?

微软SQL 2005

BEGIN TRANSACTION 

SELECT Top 10 ID FROM dbo.CODES 
with (UPDLOCK, READPAST) 
where ItemNo = 'type-2' AND Sold = 0 
order by cast(NowStamp as DateTime) ASC 

COMMIT TRANSACTION 

我觉得我的问题是从哪儿来的索引。

+0

问题是什么? –

+0

当我尝试在事务中使用ORDER BY时,它锁定了整个表并且不允许相同的事务运行。 – user2358523

回答