首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DB2、ORACLE和SQL Server。UPDATE with SUBSELECT FOR UPDATE,避免死锁

问DB2、ORACLE和SQL Server。UPDATE with SUBSELECT FOR UPDATE,避免死锁
EN

Stack Overflow用户
提问于 2015-04-15 23:18:05
回答 1查看 65关注 0票数 0

我有一个工具,您可以将其用于DB2、Oracle和MySQL.Now。我有许多死锁(SQL Server),我希望避免这种情况。我有以下SQL update查询

代码语言:javascript
复制
UPDATE [TABA] 
SET FIELDA = 0  
WHERE FIELDB = ? AND FIELDC = ?;

这个SQL update查询导致了死锁。我想把它改成SUBSELECT_FOR_UPDATE。

代码语言:javascript
复制
UPDATE [TABA] 
SET FIELDA = 0  
WHERE FIELDB IN (SELECT FIELDB 
                 FROM [TABA] WHERE FIELDE = 600 AND FIELDG = 5885328 FOR UPDATE);

我不知道如何在子集(DB2、ORacle和SQL Server)中使用FOR UPDATE。

EN

回答 1

Stack Overflow用户

发布于 2015-04-15 23:41:26

对于SQL Server,我知道

代码语言:javascript
复制
UPDATE [TABA] 
SET FIELDA = 0 
WHERE FIELDB IN (SELECT FIELDB 
                 FROM [TABA] with (updlock) where FIELDE = 600 AND FIELDG = 5885328);

缺少DB2和Oracle

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

https://stackoverflow.com/questions/29654136

复制
相关文章

相似问题

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