SQL SERVER (MSSQL) 排它锁的实例
来源:互联网 发布:不用网络的手机电视 编辑:程序博客网 时间:2024/05/29 07:36
需求:
根据某个字段的标记,来判断要拿到的记录sn,再更新此条记录的标记,防止被别的记录拿到
要解决的问题:
总有那一个瞬间,2个线程同时拿到同一条记录
解决方法:
使用排它锁,下面为实例,好用请给好评。何谓排它锁请自行百度。
关键语法是:
with (tablockx)
原理:
从使用with(tablockx)开始就独占了,知道commit tran才释放锁
下面是实例:
ALTER PROCEDURE [dbo].[存储过程-获取SN(RobotInput已上传工单等待Center获取并持续刷新显示)]ASBEGIN-- SET NOCOUNT ON added to prevent extra result sets from-- interfering with SELECT statements.SET NOCOUNT ON; -- Insert statements for procedure heredeclare @getSN intbegin tran--声明显式事务--=================================select top 1 @getSN=snfrom [识别流水表] with (tablockx)where[识别进度]='RobotInput已上传工单等待Center获取并持续刷新显示' and[识别结果] is null order by sn asc;if(@getSN is not null)BEGINupdate [识别流水表] set [识别进度]='Center获取并持续刷新显示' where sn=@getSNENDELSEBEGINset @getSN=-1;END--=================================commit tran--提交显式事务select @getSN as [getSN];END
阅读全文
0 0
- SQL SERVER (MSSQL) 排它锁的实例
- sql server行级锁,排它锁,共享锁的使用
- sql server行级锁,排它锁,共享锁的使用
- sql server行级锁,排它锁,共享锁的使用
- sql server行级锁,排它锁,共享锁的使用
- sql server行级锁,排它锁,共享锁的使用
- sql server行级锁,排它锁,共享锁的使用
- sql server行级锁,排它锁,共享锁的使用
- sql server行级锁,排它锁,共享锁的使用
- sql server行级锁,排它锁,共享锁的使用
- sql server行级锁,排它锁,共享锁的使用
- sql server行级锁,排它锁,共享锁的使用
- sql server行级锁,排它锁,共享锁的使用
- MSSQL 共享锁和排它锁
- sql server行级锁,排它锁,共享锁的使用(转)
- 排它思想实例
- SQL Server 不能创建数据库了,发生错误:1807 未能获得数据库 'model' 上的排它锁。请稍后重试操作。
- 修改MsSql( sql server)的排序规则
- android 反射封装Json
- 单链表的基本操作(C++实现)
- 欢迎使用CSDN-markdown编辑器
- Python-自动发邮件 二
- FAFU OJ 求幂模
- SQL SERVER (MSSQL) 排它锁的实例
- iOS 线程安全 记住这些方法
- python科学计算--核心工具包一瞥(一)(综述)
- 合并testing分支sh脚本
- 异步FIFO设计与实现
- meteor构建应用之ios打包
- 洛谷 P2233 [HNOI2002]公交车路线
- EL隐式对象-6.22
- 国内外三个不同领域巨头分享的Redis实战经验及使用场景