oracle多表關聯更新

2021-08-13 04:16:47 字數 398 閱讀 2221

1.首先將其他表的資料抽取到一張臨時表裡面。

create table temp_dim2 as (select t.stdaddr,s.dzbm from demp_dim t,dzmlpxz _pt s where t.sdaddr=s.mc);

2.進行分組查詢,看看裡面的記錄是否有重複的。

select stdaddr,count(1) repnum from temp_dim2 group by stdaddr ;

看看裡面是否有重複的記錄,如果有重複的記錄乾掉、

3.更新資料

update wpgl_jdc_pt a set  dzbm=nvl((select t.dzbm from temp_dim2 t where a.stdaddr=t.stdaddr),a.dzbm);

oracle多表關聯更新

oracle的更新語句不通mssql那麼簡單易寫,就算寫出來了,但執行時可能會報 這是由於set 的子查詢查出了多行資料值,oracle規定一對一更新資料,所以提示出錯。要解決這樣必須保證查出來的值一一對應。原理 update語句的原理是先根據where條件查到資料後,如果set中有子查詢,則執行子...

oracle 多表關聯更新語句

在使用資料庫進行更新操作時,我們可能會碰到一種情況,有表a和表b兩張表,需要更新表b中的某個欄位時,需要關聯a b兩表,將a表中的字段值賦值給b,此時執行sql語句如下 update 表a set a.欄位1 select b.欄位1 from 表b where a.欄位2 b.欄位2 where ...

oracle多表關聯更新推薦方法

待更新表 表名 newtab name value 電腦手機 導管資料 表 表名 oldtab goods price 電腦 1600 手機 12 導管 1 將oldtab表中的price值更新到newtab的value中去,關聯關係是oldtab.goods newtab.name begin f...