oracle中,把一个表中指定的字段数据更新到另外一张表里面

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_19640525/article/details/79988403

一、创建表结构

create table test1(  id varchar2(10) ,  val varchar2(20),  name varchar2(20)); 
create table test2(  id varchar2(10),  val varchar2(20) ,  name varchar2(20) );

二、插入数据

insert into test1 values ('1','1111','gsdg');
insert into test1 values ('2','222vs','dfgd');  
insert into test1 values ('2','2222sdf','dg');    
insert into test1 values ('3','33sdf33','dgd');  
insert into test1 values ('4','44d44','dgdfg');
insert into test1 values ('6','66dgd66','hhfg');
commit;  
insert into test2 values ('1','aa332aa','77');
insert into test2 values ('2','bb34b3b','7538');      
insert into test2 values ('3','c34ccc','835'); 
insert into test2 values ('4','dd34dd','3255');
insert into test2 values ('5','ee34e','596666');
commit; 

三、更新语句

merge into test1
using  (select * from test2 t)test2
on (test1.idd = test2.idd)
when matched then
update set test1.val = test2.val,test1.name=test2.name


猜你喜欢

转载自blog.csdn.net/qq_19640525/article/details/79988403