我有这个要求,我需要在购买后更新帐户余额。有时,平衡是不够的。所以,我只想在余额足以进行购买时更新。如何为此编写正确的SQL
我需要像
这样的东西Update account set balance = balance - amount only if balance >= amount.
如何在sql中编写类似的内容。
答案 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;