TABLOCK: 使用表锁代替粒度更细的行级锁或页级锁。在语句结束前,SQL Server 一直持有该锁。但是,如果同时指定 HOLDLOCK,那么在事务结束之前,锁将被一直持有。你使用了表锁定,除非可以使用其他方法代替上面的写法,不知道你上面的是不是在存储过程里面,没有的话试试下面的:begin tran select Max(F1) from Tabe with(TABLOCK) go ... ... update Tabe set ID= ... commit tran
phantomMan() 是在select Max(F1) from Tabe with(TABLOCK) 下加一个go吗
select Max(F1) from Tabe with(TABLOCK)
go
...
...
update Tabe set ID= ...
commit tran
下加一个go吗