如何根据单个'when'条件更新多个列

时间:2014-08-28 04:49:34

标签: sql oracle-sqldeveloper

我必须根据一个条件更新多个列,并根据不同的条件更新一个列。我怎么做?

对于前我有一个表A,其中包含三列col1,col2,col3。

我想根据一个if子句更新col1,col2,在其他条件下更新col3。

我的查询将是

update A set 
          col1 = case
          when < cond1 > then < value1 >
          end,
          col2 = case 
          when < cond1> then < value2 >
          end,
          col3 = case
          when < cond3> then < value3 >
          end;

这是有效的

我想知道是否有更好的方法将前两个条件添加到一个更新两个不同的列。 另外,我想知道哪个更可取?如上所述基于条件更新或使用两个不同的更新查询来完成相同的工作?

0 个答案:

没有答案