SQL
 sql

 SQLU_TEST ID=1Name ID=2Name
drop table SQLU_TEST;

create table SQLU_TEST(ID number,name varchar2(100));

insert into SQLU_TEST

select 1 id,S1 name from dual

union

select 2 id,S2 name from dual

union

select 3 id,S3 name from dual

union

select 2 id,S2 name from dual;

select * from SQLU_TEST

 update sqlu_test set name=(select name from sqlu_test where id=2) where id=1;       Namejupdate sqlu_test set name=(select name from sqlu_test where id=1) where id=2; 

       SQL

SQL MergeTMERGESQLmerge into sqlu_test stusing(select id,(select max(name) from sqlu_test a where a.id= 2) newname 

    from sqlu_test b where b.id=1

    union

    select id,(select  max(name) from sqlu_test a where a.id= 1) newname 

    from sqlu_test b where b.id=2

    ) t

    on (t.id=st.id)

    when matched then update set st.name=t.newname;

发表回复

您的电子邮箱地址不会被公开。