首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在OQL上使用UPDLOCK锁定查询结果,安全的更新实体数据

SqlServer查询记录的时候提供多种锁定方式,其中UPDLOCK 的优点是允许您读取数据(不阻塞其它事务)并在以后更新数据,同时确保自从上次读取数据后数据没有被更改。...当我们用UPDLOCK来读取记录时可以对取到的记录加上更新锁,从而加上锁的记录在其它的线程中是不能更改的只能等本线程的事务结束后才能更改。...看下面的查询: begin tran select * from address WITH (UPDLOCK) where [Name]='Z' waitfor delay '00:00:10' update...QueryObject( OQL.From() .With(OQL.SqlServerLock.UPDLOCK...db.Commit(); 上面的操作,首先在AdoHelper对象上开启事务,然后查询投资产品实体的时候在With方法上加上 OQL.SqlServerLock.UPDLOCK 更新锁,接着进行复制的业务处理

1.7K10
您找到你想要的搜索结果了吗?
是的
没有找到

数据库相关锁总结(共享锁,排它锁,更新锁,意向锁,计划锁),看完这篇将会对锁产生更深的理解

在修改数据之前,可以将它转换为排他锁,这可以通过提示UPDLOCK更新锁来实现。 为解决死锁,引入更新锁。...例1: T1: begin tran select * from table(updlock) (加更新锁) update table set column1='hello' T2: begin tran...select * from table(updlock) update table set column1='world' 更新锁的意思是:“我现在只想读,你们别人也可以读,但我将来可能会做更新操作,...例2: T1: select * from table(updlock) (加更新锁) T2: select * from table(updlock) (等待,直到T1释放更新锁...,因为同一时间不能在同一资源上有两个更新锁) T3: select * from table (加共享锁,但不用等updlock释放,就可以读) 这个例子是说明:共享锁和更新锁可以同时在同一个资源上

36130

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券