oracle中,把一個表中指定的欄位資料更新到另外一張表裡面
阿新 • • 發佈:2019-01-03
一、建立表結構
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