当前位置: 代码迷 >> Oracle开发 >> 求一条SQL解决办法
  详细解决方案

求一条SQL解决办法

热度:162   发布时间:2016-04-24 08:02:41.0
求一条SQL
假设现在有一张表A,字段为NO,a、b,里面有2条记录(NO分别为1和2),我现在想只用一句sql实现如下的功能:
把NO为1和2的这2条记录的a字段都更新为“AA”,只更新NO为1的记录的b字段为“BB”,NO2记录的b字段不变。

请问可以吗?

------解决方案--------------------
update t set a = 'AA', b = decode(no,1,'BB',b);
------解决方案--------------------
update A set A = 'AA',b = decode(no,1,'BB',b);
commit;
------解决方案--------------------
SQL code
SQL> create table ta (no number,a varchar(20),b varchar(20));表已创建。SQL> insert into ta values(1,'gg','mm');已创建 1 行。SQL> insert into ta values(2,'dd','mm');已创建 1 行。SQL> select * from ta;        NO A                    B---------- -------------------- --------------------         1 gg                   mm         2 dd                   mmSQL> update ta set a='AA',b=(decode(ta.no,1,'BB',ta.b));已更新2行。SQL> commit;提交完成。SQL> select * from ta;        NO A                    B---------- -------------------- --------------------         1 AA                   BB         2 AA                   mm
  相关解决方案