0

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

我需要类似的东西

Update account set balance = balance - amount only if balance >= amount.

我怎样才能在sql中写这样的东西。

4

2 回答 2

1

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

Update account
SET balance = balance - amount
WHERE balance >= amount
于 2012-11-15T16:04:34.750 回答
0

您可以CASE像这样使用表达式:

Update account 
SET balance = CASE 
                WHEN balance >= amount THEN balance - amount 
                ELSE balance 
              END;
于 2012-11-15T16:01:23.800 回答