仅在有足够余额时才写入更新查询

时间:2012-11-15 16:00:01

标签: sql

我有这个要求,我需要在购买后更新帐户余额。有时,平衡是不够的。所以,我只想在余额足以进行购买时更新。如何为此编写正确的SQL

我需要像

这样的东西
Update account set balance = balance - amount only if balance >= amount.

如何在sql中编写类似的内容。

2 个答案:

答案 0 :(得分:1)

您正在寻找WHERE关键字。它允许您将命令过滤到表的子集。例如:

Update account
SET balance = balance - amount
WHERE balance >= amount

答案 1 :(得分:0)

您可以使用CASE表达式,如下所示:

Update account 
SET balance = CASE 
                WHEN balance >= amount THEN balance - amount 
                ELSE balance 
              END;