1. 程式人生 > >oracle中,把一個表中指定的欄位資料更新到另外一張表裡面

oracle中,把一個表中指定的欄位資料更新到另外一張表裡面

一、建立表結構

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