Oracle Merge Into 簡單實用

2021-09-22 02:19:56 字數 1166 閱讀 7636

在日常的開發中,常常遇到這樣的需求。在更新表時,如果t表中有資料就進行更新,沒有資料就進行插入;在oracle中有個非常好用的語法 merge into ;

merge into t t1                // ------> t 表  t1 表別名

using(select a,b from t where t.a = 『1001』) t2 --->條件表

on (t1.a = t2.a) ----->鏈結條件

when matched then ----->條件滿足執行update

update set t1.b = 2

when not matched then ----> 條件不滿足執行insert

inert (a,b) values(『1001』,2)

在開發中常常這樣使用:

merge into a						

using (select count(1) cat

from a bbn

where bbn.user_id = :user_id

and bbn.brole_id = :brole_id) ffg

on (ffg.cat > 0)

when matched then

update

set

ru_isdefault = :ru_isdefault,

ru_state = :ru_state

where user_id = :user_id and brole_id = :brole_id

when not matched then

insert

(user_id, brole_id, ru_isdefault, ru_state)

values

(:user_id, :brole_id, :ru_isdefault, :ru_state)

oracle merge into 用法詳解

merge into 是oracle 9i以後才出現的新的功能。那這個功能是什麼呢?簡單來說,就是 有則更新,無則插入 類似mysql中的replace。在merge into操作乙個物件 a 的時候,要有另外乙個結果集 b 作為源資料,merge into 通過on將b中的資料與a中的資料按照一定...

Oracle Merge into使用小節(一)

merge into 目標表 a using 源表 b on a.條件欄位1 b.條件欄位1 when matched then update set a.更新字段 b.欄位 when not macthed then insert into a 欄位1,欄位2 values 值1,值2 源表b中查...

簡單的Apache URL Rewrite例項

下面開始講如何設定url rewrite.apache 伺服器 比如我們有新聞頁 news readmore.php?id 4875 我們要做成靜態頁 news top2007,4875.html 首先進入apache的目錄找到名為httpd.conf的檔案。本站為 apache2.2 conf h...