case: 表一 新增字段 age, 需要從 表二中 將age資料同步到表一中, 或者 單純同步兩張表中的資料
表1:employee(被更新的表 字段 age )
表2: t_user 資料**表
只更新表1中 age 為null的資料
update employee e set age = (select u.age from t_user u where e.id=u.id ) where exists (select 1 from t_user u where e.id=u.id and e.age is null )
更新表1全部資料
update employee e set age = (select u.age from t_user u where e.id=u.id ) where exists (select 1 from t_user u where e.id=u.id)
update employee e set age = (select u.age from t_user u where e.id=u.id ) where e.id in (select id from t_user) and e.age is null
更新乙個字段:
merge into employee e using t_user u on (e.id=u.id ) when matched then update set e.age=u.age where e.age is null
更新多個字段: (與方法一和方法二相比,當更新多個欄位時這種方法很方便)
merge into employee e using t_user u on (e.id=u.id ) when matched then update set e.age=u.age,e.name=u.name
begin
for cur in (
select u.id,u.name,u.age from t_user u,employee e where u.id=e.id
)loop
update employee e set e.name= cur.name,e.age=cur.age where e.id=cur.id;
end loop;
end;
Oracle關聯兩張表批量修改某個字段
有兩張表a b,需要關聯這兩張表,對錶a中的某個字段,批量進行更新。一 業務描述 現有表a b分別儲存使用者基本資訊,且有主鍵可以關聯。因為資料新舊等關係,表a b中的資料不一致 表a,標紅的內容 比如姓名 性別等,且表b中的資訊是準確的。現有檢視a,需要從表a中獲取資料,因此,需要關聯表b,對錶a...
SQL兩張表如何關聯
比如 我有table1 和 table2 兩張表table1 id name 1 張三 男 2 李四 女 3 王五 男table2 比如 我有table1 和 table2 兩張表 table1 id name 1 張三 男 2 李四 女 3 王五 男 table2 id hobby lid 1 下...
兩張表關聯比較記錄是否相同
問題 已知兩張表ta tb,這兩張表的表結構完全相同。現在有這樣的要求,ta是根據要求按一定頻率抽取的資料,tb是儲存發生變化的表。每次抽取ta表,都會比較ta tb表,看這兩個表中是否存在完全一樣的資料項值。例子 ta tb的主鍵是ca1,則使用ta和tb表中的其他字段值比較 on ta.ca1 ...