欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ORACLE兩表關聯(lián)更新三種方式

 更新時間:2024年05月24日 12:06:43   作者:Terence全棧開發(fā)  
這篇文章主要介紹了ORACLE兩表關聯(lián)更新三種方式,文章通過代碼示例和圖文結合的方式給大家講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下

準備工作

創(chuàng)建如下表數(shù)據(jù)

drop table demo_t1;
drop table demo_t2;
CREATE TABLE DEMO_T1 
(
  FNAME VARCHAR2(20) 
, FMONEY VARCHAR2(20) 
);
ALTER TABLE demo_t1 ADD PRIMARY KEY(FNAME);
insert into demo_t1 (fname,fmoney) values('A','20');
insert into demo_t1 (fname,fmoney) values('B','30');
CREATE TABLE DEMO_T2
(
  FNAME VARCHAR2(20) 
, FMONEY VARCHAR2(20) 
);
ALTER TABLE demo_t2 ADD PRIMARY KEY(FNAME);
insert into demo_t2 (fname,fmoney) values('C','10');
insert into demo_t2 (fname,fmoney) values('D','20');
insert into demo_t2 (fname,fmoney) values('A','100');

現(xiàn)需求:參照T2表,修改T1表,修改條件為兩表的fname列內(nèi)容一致。

方式1:update

UPDATE DEMO_T1 t1
SET T1.FMONEY = (select T2.FMONEY from DEMO_T2 T2 where T2.FNAME = T1.FNAME)
WHERE EXISTS(SELECT 1 FROM DEMO_T2 T2 WHERE T2.FNAME = T1.FNAME);

如果同時更新多個字段可以參照以下語法:

UPDATE DEMO_T1 t1
SET (字段一,字段二,...) = (select 字段一,字段二,... from DEMO_T2 T2 where T2.FNAME = T1.FNAME)
WHERE EXISTS(SELECT 1 FROM DEMO_T2 T2 WHERE T2.FNAME = T1.FNAME);

方式2:內(nèi)聯(lián)視圖更新

注意:需要取數(shù)據(jù)的表,該字段必是主鍵或者有唯一約束

UPDATE (
select t1.fmoney  fmoney1,t2.fmoney  fmoney2 from demo_t1 t1,demo_t2 t2 where t1.fname = t2.fname
)t
set fmoney1 =fmoney2;

方式3:merge更新

merge into demo_t1 t1
using (select t2.fname,t2.fmoney from demo_t2 t2) t
on (t.fname = t1.fname)
when matched then 
  update  set t1.fmoney = t.fmoney;

到此這篇關于ORACLE兩表關聯(lián)更新三種方式的文章就介紹到這了,更多相關ORACLE兩表關聯(lián)更新內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 檢查Oracle數(shù)據(jù)庫版本的7種方法匯總

    檢查Oracle數(shù)據(jù)庫版本的7種方法匯總

    在Oracle數(shù)據(jù)庫的發(fā)展中,數(shù)據(jù)庫一直處于不斷升級狀態(tài),下面這篇文章主要給大家介紹了關于檢查Oracle數(shù)據(jù)庫版本的7種方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • oracle 實際值超過數(shù)據(jù)庫某個字段指定長度報錯解決

    oracle 實際值超過數(shù)據(jù)庫某個字段指定長度報錯解決

    本節(jié)主要介紹了oracle 實際值超過數(shù)據(jù)庫某個字段指定長度報錯解決方法,需要的朋友可以參考下
    2014-07-07
  • Oracle基礎教程之分組查詢

    Oracle基礎教程之分組查詢

    這篇文章主要給大家介紹了關于Oracle基礎教程之分組查詢的相關資料,Oracle分組查詢指的是將一張表按照某個字段或幾個字段進行分組,并在每個組內(nèi)進行聚合運算,得到結果集,需要的朋友可以參考下
    2024-02-02
  • oracle索引的測試實例代碼

    oracle索引的測試實例代碼

    這篇文章主要給大家介紹了關于oracle索引測試的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Oracle基本PLSQL的使用實例詳解

    Oracle基本PLSQL的使用實例詳解

    這篇文章主要介紹了Oracle基本PLSQL的使用實例詳解的相關資料,需要的朋友可以參考下
    2017-05-05
  • Oracle?REGEXP_LIKE模糊查詢用法例子

    Oracle?REGEXP_LIKE模糊查詢用法例子

    Oracle中偶遇正則表達式的使用,簡直逆天,在數(shù)據(jù)統(tǒng)計方面,最長用的就是regexp_like與regexp_replace兩個了,下面這篇文章主要給大家介紹了關于Oracle?REGEXP_LIKE模糊查詢用法例子的相關資料,需要的朋友可以參考下
    2022-11-11
  • 一些Oracle數(shù)據(jù)庫中的查詢優(yōu)化建議綜合

    一些Oracle數(shù)據(jù)庫中的查詢優(yōu)化建議綜合

    這篇文章主要介紹了一些Oracle數(shù)據(jù)庫中的查詢優(yōu)化建議綜合,包括in和not in的使用等一些細節(jié)上的使用建議,需要的朋友可以參考下
    2016-01-01
  • Oracle進程占用CPU100%的問題分析及解決方法

    Oracle進程占用CPU100%的問題分析及解決方法

    這篇文章主要介紹了Oracle進程占用CPU100%的問題分析及解決方法,文中通過代碼示例和圖文結合的方式給大家講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-08-08
  • ORACLE常見錯誤代碼的分析與解決(一)

    ORACLE常見錯誤代碼的分析與解決(一)

    ORACLE常見錯誤代碼的分析與解決(一)...
    2007-03-03
  • 通過sql準確查出一天數(shù)據(jù)的方法

    通過sql準確查出一天數(shù)據(jù)的方法

    之前做一個項目的時候想用sql查出某人一天做的數(shù)據(jù),但怎么查都沒有準確查出。最近通過查閱萬卷書籍終于知道了如何準確查出一天的數(shù)據(jù)。所以想著總結出來分享給大家,或許對有需要的朋友們能帶來一定的幫助,下面來一起看看吧。
    2016-12-12

最新評論