Heim > Datenbank > MySQL-Tutorial > Oracle使用查询结果更新表的方法

Oracle使用查询结果更新表的方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-07 16:49:58
Original
2198 Leute haben es durchsucht

Oracle使用一个查询的结果更新另一个表的数据。模拟实验如下,使用t2表的查询结果,更新t1表相同id的数据。

Oracle使用一个查询的结果更新另一个表的数据。

模拟实验如下,使用t2表的查询结果,更新t1表相同id的数据。
 
drop table t1;
 
drop table t2;

create table t1(id int primary key,nickname varchar(20),playNum varchar(20));

create table t2(id int primary key,nickname varchar(20),playNum varchar(20));

insert into t1 values(1,1,10);

insert into t1 values(2,2,20);

insert into t1 values(3,3,30);

insert into t2 values(1,11,100);

insert into t2 values(2,22,200);

insert into t2 values(3,33,300);

commit;

Oracle有两种方式:
 内联视图更新
 
update (
 
    select t1.id t1id ,t1.nickname t1nickname,t1.playNum t1playnum,t2.id t2id ,t2.nickname t2nickname,t2.playNum t2playnum

    from t1 inner join t2 on (t1.id=t2.id)

)

set t1nickname=t2nickname,t1playnum=t2playnum;

 

相关子查询
 
update t1 set (nickname,playNum)=
 
(select nickname,playNum from t2 where t1.id=t2.id);

MySQL只有下面的这一种方式
 不过可以同时修改两个表的数据.
 用t2的playNum更新t1,用t1的nickname更新t2

update t1,t2
 
set t2.nickname=t1.nickname,t1.playNum=t2.playNum

where t1.id=t2.id;

MySQL和Oracle的方式互不通用。

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

本文永久更新链接地址:

linux

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage