码迷,mamicode.com
首页 > 数据库 > 详细

SqlServer中的更新锁(UPDLOCK)

时间:2016-07-04 15:16:19      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

优点: 允许读取数据(不阻塞其它事务)并在以后更新数据,同时确保自从上次读取数据后数据没有被更改

当用UPDLOCK来读取记录时可以对取到的记录加上更新锁,从而加上锁的记录在其它的线程中是不能更改的只能等本线程的事务结束后才能更改

 

begin tran
select * from address WITH (UPDLOCK) where [Name]=‘Z‘
waitfor delay ‘00:00:10‘
update address set [Name]=‘ZZ‘
commit tran

 

注意:

在另一个查询里:
如果同样要加更新锁,则会阻塞当前查询,直到其它连接释放更新锁.
如果不加更新锁则直接可以读取更新锁的记录.

这样做是对当前行的锁定,而不是整个表

如果对整个表锁定则严重影响了性能

 

SqlServer中的更新锁(UPDLOCK)

标签:

原文地址:http://www.cnblogs.com/niuzaihenmang/p/5640209.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!