ORACLE多表關聯UPDATE 語句

2022-06-26 15:39:09 字數 1259 閱讀 5990

1) 最簡單的形式

sql **

--經確認customers表中所有customer_id小於1000均為'北京'

--

1000以內的均是公司走向全國之前的本城市的老客戶:)

update

customers

set city_name='北京

'where customer_id<

1000

2) 兩表(多表)關聯update -- 僅在where字句中的連線

sql **

--

這次提取的資料都是vip,且包括新增的,所以順便更新客戶類別

update customers a --

使用別名

set customer_type='01

'--01 為vip,00為普通

where

exists (select

1from

tmp_cust_city b

where b.customer_id=

a.customer_id

)

3) 兩表(多表)關聯update -- 被修改值由另乙個表運算而來

sql **

update customers a --

使用別名

set city_name=(select b.city_name from tmp_cust_city b where b.customer_id=

a.customer_id)

where

exists (select

1from

tmp_cust_city b

where b.customer_id=

a.customer_id)--

update 超過2個值

update customers a --

使用別名

set (city_name,customer_type)=(select

b.city_name,b.customer_type

from

tmp_cust_city b

where b.customer_id=

a.customer_id)

where

exists (select

1from

tmp_cust_city b

where b.customer_id=

a.customer_id

)

oracle多表關聯更新

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...

oracle多表關聯更新

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

SQLSERVER中 多表鏈結的UPDATE 方法

錯誤方式 update 歷史庫存 inner join 平均單價 on 歷史庫存.產品編號 平均單價.產品編號 set 歷史庫存.期末金額 round 平均單價.領用平均單價 歷史庫存.期末數量,0 正確方式 update 歷史庫存 set 歷史庫存.期末金額 round 平均單價.領用平均單價 歷...