Oracle中 Update和insert結合語法

弄潮兒3040發表於2020-11-29

正常工作或生產環境有可能會碰到以下這種情況:
將表table1中的資料定時同步到表table2中,如果table2中已經有表table1的資料了,那麼就將表table2中的資料更新成和表table1一樣,如果表table2中不存在,那麼就將表table1中的資料插入到table2中
針對以上場景就可以使用以下語法,既方便有快捷

create or replace procedure ZK_MEMBER  isbeginMERGE INTO  v_zhongke5 M
​
using (
​
​
​
      select id,name,riqi,statu from v_zhongke4 where statu=0) N
​
on (M.id=N.id)when matched thenupdate  set M.statu=0,M.riqi=N.riqi where M.name=N.name
​
when not matched theninsert (id,name,riqi,statu)values(N.id,N.name,N.riqi,N.statu);update v_zhongke4 set statu=1;commit;end ;

在這裡插入圖片描述

相關文章