sql rowlock WITH (tablockx)

asq985 asq985 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如果data表里有N条数据

存储过程:

declare @tmpId bigint
BEGIN TRANSACTION

SELECT top 1 @tmpId=Id FROM data rowlock WITH (tablockx) WHERE dstatus=0
update data set dstatus=1 where Id=@tmpId
select * from data where Id=@tmpId

COMMIT TRANSACTION



如果就使用 rowlock with(tablockx) 是否会出现脏读,重复读?(多个进程同时调用这个存储过程)

谢谢!(只有23分了,哭~~~~~~)
...全文
评论 5
收藏 已收藏
分享
返回顶部
asq985
疑难问题 22,298 成员 121,727 内容