create table t1_test(g_id number, t_id number, r_id number, flag_1 number)
Table created.
create table t2_test(r_id number, flag_1 number)
Table created.
create table t3_test(r_id number, flag_1 number)
Table created.
insert into t1_test
values(10, 20, 1, null)
1 row(s) inserted.
insert into t2_test
values(1, 2)
1 row(s) inserted.
insert into t3_test
values(2, 2)
1 row(s) inserted.
commit
Statement processed.
update t1_test t1
set flag_1 = (select nvl(t3.flag_1, t2.flag_1) from t2_test t2, t3_test t3
where t2.r_id = t1.r_id
and t3.r_id(+) = t1.r_id)
where t1.g_id = 10
1 row(s) updated.
select * from t1_test
G_ID | T_ID | R_ID | FLAG_1 | 10 | 20 | 1 | - |
---|
rollback
Statement processed.
update t1_test t1
set flag_1 = (select nvl(t3.flag_1, t2.flag_1) from t2_test t2, t3_test t3, t1_test t4
where t4.g_id = t1.g_id
and t4.t_id = t1.t_id
and t2.r_id = t4.r_id
and t3.r_id(+) = t4.r_id)
where t1.g_id = 10
1 row(s) updated.
select * from t1_test
G_ID | T_ID | R_ID | FLAG_1 | 10 | 20 | 1 | 2 |
---|