首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在这种情况下,Server锁定是如何工作的?

在这种情况下,Server锁定是如何工作的?
EN

Stack Overflow用户
提问于 2008-11-03 15:43:25
回答 5查看 1.1K关注 0票数 4

假设我有一笔交易:

代码语言:javascript
运行
复制
BEGIN TRANSACTION
DECLARE MONEY @amount
SELECT Amount AS @amount
  FROM Deposits
  WHERE UserId = 123
UPDATE Deposits
  SET Amount = @amount + 100.0
  WHERE UserId = 123
COMMIT

它按照以下顺序在两个线程上执行:

  1. 线程1-选择
  2. 线程2-选择
  3. 线程1-更新
  4. 线程2-更新

假设执行前的数量为0。

在这种情况下,在SQL Server的不同设置下会发生什么(读未读、读已读、可重复读、可序列化),到底会出现什么数量,会不会出现死锁?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/259031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档