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 に答える