SqlServer中的更新锁(UPDLOCK)
来源:互联网 发布:生死狙击六子刷枪软件 编辑:程序博客网 时间:2024/06/05 18:40
SqlServer中的更新锁(UPDLOCK)
Posted on 2009-05-21 18:29 linFen 阅读(6008) 评论(1) 编辑 收藏UPDLOCK.UPDLOCK 的优点是允许您读取数据(不阻塞其它事务)并在以后更新数据,同时确保自从上次读取数据后数据没有被更改。当我们用UPDLOCK来读取记录时可以对取到的记录加上更新锁,从而加上锁的记录在其它的线程中是不能更改的只能等本线程的事务结束后才能更改,我如下示例:BEGIN TRANSACTION --开始一个事务SELECT Qty FROM myTable WITH (UPDLOCK) WHERE Id in (1,2,3)
我做了一个测试:
在一个查询里写
begin tran
select * from address WITH (UPDLOCK) where [Name]='Z'
waitfor delay '00:00:10'
update address set [Name]='ZZ'
commit tran
在另一个查询里:
如果同样要加更新锁,则会阻塞当前查询,直到其它连接释放更新锁.
如果不加更新锁则直接可以读取更新锁的记录.
这就说明,有时候我需要控制某条记录在我读取后就不许再进行更新,那么我就可以将所有要处理当前记录的查询都加上更新锁,以防止查询后被其它事务修改.将事务的影响降低到最小(我以前的做法是将整个表锁定,这种做法严重影响了性能.)
0 0
- SqlServer中的更新锁(UPDLOCK)
- SqlServer中的更新锁(UPDLOCK)
- SqlServer中的更新锁(UPDLOCK)
- SqlServer的更新锁(UPDLOCK)
- SqlServer的更新锁(UPDLOCK)
- SqlServer的更新锁(UPDLOCK)
- SqlServer的更新锁(UPDLOCK)
- SQL中的锁:NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
- sqlserver 中NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
- sqlserver 中NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
- sqlserver 中NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
- sqlserver 中NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
- with(updlock)
- SQLSERVER 中的锁机制
- 学习SQLSerVer中的锁
- 浅谈sqlserver中的“锁”
- SQLServer中的锁
- update关联更新在sqlserver和oracle中的实现
- 正则表达式 示例
- iOS开发中宏的应用
- 使用GCM服务(Google Cloud Messaging)实现Android消息推送
- sqlserver锁表查看
- Spring 定时任务
- SqlServer中的更新锁(UPDLOCK)
- Android WebView实现离线加载功能
- android开发中EditText自动获取焦点时隐藏hint的代码
- 《编程之美》蚂蚁爬杆问题的扩展
- 救命:如何修复被挂木马的php网站
- 微软的讨论
- 获取APK包名的几种方法
- Safari调试iOS中的js
- POJ 1064 Cable master