2
我将行插入到两个实例的单个表中,并且它们正在成功完成。 当任何事务更新任何表时,它将在该表(资源)上获得'独占',并且在插入数据时必须有单独的独占锁。在同一个表上是否有两个独占锁
Granted
Requested Exclusive(X) Shared(S)
Exclusive NO NO
Shared NO Yes
创建示例表:
create table TestTransaction
(
Colid int Primary Key,
name varchar(10)
)
插入实例1:
Declare @counter int =1
Declare @countName varchar(10)='te'
Declare @max int=1000000
while @counter<@max
Begin
insert into TestTransaction
values
(
@counter,
@countName+Cast(@counter as varchar(7))
)
Set @[email protected]+1
End
插入实例2:
insert into TestTransaction
values
(2000001,'yesOUTofT')
为什么它是成功的? 同时从表中检索(选择)不会发生,因为表上的锁定。
你看过实际存在的锁吗? –