begin tran
update dbo.BankAccount set Balance=Balance+100
where BankAccountId='9555500100071120'
waitfor delay '00:00:10'
rollback tran
第二个用户进程中:
begin tran
select * from dbo.BankAccount where BankAccountId='9555500100071120'
rollback tran
为什么第二个用户要等待?第一个用户都没有加锁。。怎么要等待??高手回答
你加了事务Begin Tran 做Update是会加行级锁的,如果你是做Insert的话,那就是表级锁了。
自己试试在来这里说吧。。谢谢。
@彬彬@科比: 这个我做过,我的分布式数据写入用的是队列的形式,你可以并发Insert加事务,看看报的错。
如果有一个问题:
我在一个事务中select * from where id=1
怎样在另一个事务中不能读取该条数据??除非第一个事务提交或回滚,要怎样设置.用什么锁??
update dbo.BankAccount 当然会加锁