create table testlock (id int) insert into testlock values(0)
同时在两个窗口中执行代码:
begin tran declare @id int select @id=max(id) from testlock while @id < 50000 begin select @id = @id + 1 insert into testlock values(@id) select @id=max(id) from testlock end commit
执行完成后统计表数据,可看到加不加begin tran 有明显区别,若不加事务,会产生许多重复id,而加了事务,则不会重复:
select count(*) from testlock select count(*) from testlock group by id having count(id)>1
表的锁和事务级别问题相当重要,需要时应加以研究。
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/304.html