使用单个查询更新不同行中的不同列

时间:2016-12-29 03:27:00

标签: sql oracle

我一直想更新专栏'名字'对于第1行和第39行dept_id'对于单个查询中的第2行。可以吗? **中的那个是我想要更新的那个。

renderItem(item) {
     return(
         <Row data={item} />
     );
 }

1 个答案:

答案 0 :(得分:1)

可以在单个查询中执行此操作,但如果每行都有唯一标识符,则会有所帮助。对于给定的数据,您可以使用任何列:

update t
    set first_name = (case when last_name = 'snow' then 'black' else first_name end),
        dept_id = (case when last_name = 'jerry' then 50 else dept_id end)
    where last_name in ('jerry', 'snow');

commit;

然而,我认为两个单独的update更简单:

update t
    set first_name = 'black'
    where last_name = 'snow';

update t
    set dept_id = 50
    where last_name = 'jerry';

commit;