SQL UPDate时根据条件更新的问题

现有1个表,字段如下:
A B C D
10 5 6 4
15 18 5 6
12 12 3 5
现在需要将表中B, C, D字段值根据A进行更新,更新规则如下:
如果B>=A 则B=b-a
如果B<A 则B=0, C=C-(A-B)
......

用B作为例子

update table set B = case when B>=A then B=B-a else 0 end

其它的你自己可以推断