create table tTest1(id int identity(1,1),Val int)
go
create table tTest2(id int identity(1,1),Val int)
go
insert tTest1 values(0)
insert tTest2 values(0)
go
create trigger [uTest1] on [tTest1] for update as
begin
declare @tmp int
select @tmp=Val+(select Val from inserted) from tTest2--用临时变量应该会并发?
update tTest2 set Val=@tmp
end
go
--连接一
declare @counter int
set @counter=50000
while @counter>0
begin
update tTest1 set Val=1,@counter=@counter-1
end
go
--连接二
declare @counter int
set @counter=50000
while @counter>0
begin
update tTest1 set Val=-1,@counter=@counter-1
end
在查询分析器同时运时连接一、连接二,结果tTest2表的Val=0,是不是触发器不会并发?如果不会并发,那么是用了什么锁呢?