当前位置:  开发笔记 > 数据库 > 正文

两个更新单个语句

如何解决《两个更新单个语句》经验,为你挑选了1个好方法。

我有两个更新语句,我们在SQL服务器上运行它们就像

UPDATE dbo.c_Account
SET Ct = Ct-1
Where 
Acc = 'IT' OR Acc = 'gt'

UPDATE dbo.c_Account
SET Ct = Ct-3
Where 
Acc = 'ABC'

是否有可能在一个语句上进行两次更新



1> Cee McSharpf..:

你可以这样组合:

UPDATE t SET
    Ct = Ct - CASE WHEN t.Acc IN ('IT','gt') THEN 1 ELSE 3 END
FROM dbo.c_Account t
WHERE t.Acc IN ('IT','gt','ABC') 

没有什么好处,除了它现在将作为一个原子操作运行,并且不需要外部事务.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有