> 데이터 베이스 > MySQL 튜토리얼 > Oracle 两个表之间更新的实现

Oracle 两个表之间更新的实现

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 17:25:49
원래의
905명이 탐색했습니다.

Oracle中,如果跨两个表进行更新,Sql语句写成这样,Oracle 不会通过。查了资料,Sql语句需要这样写才行

前提条件:

表info_user中有字段id和name,字段id为索引

表data_user_info中有字段id和name,字段id为索引

其中表info_user中字段id和表data_user_info中字段id数值一致。

要求实现:

更新表info_user中的字段name 与表data_user_info中字段name一致。

实现的SQL语句为:

update info_user i set (i.name) = (select  d.name from data_user_info d where d.id = i.id)

where i.id = (select d.id from data_user_info d where d.id = i.id);

commit;

-------------------------分割线-------------------------

Oracle中,如果跨两个表进行更新,Sql语句写成这样

Update Table a set a.ID=Table2.ID where a.Name = Table2.Name

  Oracle 不会通过。查了资料,,Sql语句需要这样写才行

Update Table a set a.ID=(select b.ID from Table2 b where b.Name = a.Name ) where exist (select 1 from Table2 b.Name=a.Name)

  更新多个字段也可以

Update Table a set a.ID=(select b.ID from Table2 b where b.Name = a.Name ),a.Code=(select b.Code from Table2 b where b.Name = a.Name ) where exist (select 1 from Table2 b.Name=a.Name)

linux

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿