17,377
社区成员
发帖
与我相关
我的任务
分享
drop table test;
create table test (state number, moduleroleid varchar2(20));
insert into test values (1, '1');
insert into test values (0, '1');
insert into test values (null, '1');
insert into test values (1, '2');
select * from test;
STATE MODULEROLEID
---------- ------------------------------
1 1
0 1
1
1 2
update test set state=decode(state, 1, 0, 1) where moduleroleid = '1';
select * from test;
STATE MODULEROLEID
---------- ------------------------------
0 1
1 1
1 1
1 2
-- state为1的变成0了,state不为1的都变成1了
-- 你要的不是这样么?