在日常的開發中,常常遇到這樣的需求。在更新表時,如果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...