--创建表A,B:
create table CUX_TEST_TABLE_A (a1 varchar2(240),a2 varchar2(240),a3 varchar2(240));
create table CUX_TEST_TABLE_B (b1 varchar2(240),b2 varchar2(240),b3 varchar2(240));
--插入数据
insert into CUX_TEST_TABLE_A values('1','aa','100');
insert into CUX_TEST_TABLE_A values('2','bb','100');
insert into CUX_TEST_TABLE_A values('3','cc','');
insert into CUX_TEST_TABLE_A values('4','dd','200');
insert into CUX_TEST_TABLE_B values('1','XX','10000');
insert into CUX_TEST_TABLE_B values('2','YY','10000');
insert into CUX_TEST_TABLE_B values('4','ZZ','20000');
insert into CUX_TEST_TABLE_B values('5','KK','');
commit;
--查询表CUX_TEST_TABLE_A

----查询表CUX_TEST_TABLE_B

--做同时更新多个字段的update语句
UPDATE cux_test_table_a a
SET (a.a2
,a.a3) =
(SELECT b.b2
,b.b3
FROM cux_test_table_b b
WHERE b.b1 = a.a1
AND a.a3 = 100)
WHERE EXISTS (SELECT 'X'
FROM cux_test_table_b b
WHERE b.b1 = a.a1 AND a.a3 = 100);
--再次查询表CUX_TEST_TABLE_A

本文介绍了一个使用SQL进行数据更新的具体案例,包括表A和表B的创建与填充过程,以及如何通过联表更新的方式实现数据同步。此方法适用于需要根据另一表中的数据更新当前表的情况。
1520

被折叠的 条评论
为什么被折叠?



