購入後にアカウントの残高を更新する必要があるという要件があります。場合によっては、バランスが十分でないこともあります。そのため、残高が購入に十分な場合にのみ更新したいと考えています。これに適したSQLの書き方
次のようなものが必要です
Update account set balance = balance - amount only if balance >= amount.
このようなものをSQLで書くにはどうすればよいですか。
購入後にアカウントの残高を更新する必要があるという要件があります。場合によっては、バランスが十分でないこともあります。そのため、残高が購入に十分な場合にのみ更新したいと考えています。これに適したSQLの書き方
次のようなものが必要です
Update account set balance = balance - amount only if balance >= amount.
このようなものをSQLで書くにはどうすればよいですか。
WHERE キーワードを探しています。これにより、コマンドをテーブルのサブセットにフィルターできます。例:
Update account
SET balance = balance - amount
WHERE balance >= amount
CASE
次のような式を使用できます。
Update account
SET balance = CASE
WHEN balance >= amount THEN balance - amount
ELSE balance
END;