oracle中,要實現判斷有資料則更新,無資料則插入功能,要用到merge into來實現(oracle 9i引入的功能),其語法如下:
本方法適用於大資料量更新
merge intotable_name alias1
using (
table
|view
|sub_query) alias2
on (join
condition)
when matched then
update
table_name
set col1 =
col_val1,
col2
=col_val2
when
not matched then
insert (column_list) values (column_values);
嚴格意義上講,」在乙個同時存在insert和update語法的merge語句中,總共insert/update的記錄數,就是using語句中alias2的記錄數」。
有乙個表t,有兩個欄位a、b,我們想在表t中做insert/update,如果條件滿足,則更新t中b的值,否則在t中插入一條記錄。
merge intot t1
using (
select
'1001
'as a,2
as b from
dual) t2
on ( t1.a=
t2.a)
when matched then
update
set t1.b =
t2.b
when
not matched then
insert (a,b) values(t2.a,t2.b);
posted on 2017-05-19 18:17收藏
如何將批處理做成類流處理 merge into
例如 隨著人工智慧的不斷發展,機器學習這門技術也越來越重要,很多人都開啟了學習機器學習,本文就介紹了機器學習的基礎內容。需要在前端頁面上設計成實時的資料,但是沒有flink,所以只能把批處理做成類流處理 更新存在的 update employe as em set salary select sal...
oracle中累計求和 oracle累計求和
poj2001 shortest prefixes trie樹應用 沉迷wow又頹了兩天orz,暴雪爸爸要在國服出月卡了.這是要我好好學習嗎?趕緊來刷題了.oj 題目大意是求所有字串裡每乙個字元 硬體相關 jtag介面 jtag joint test action group,聯合測試行動小組 是一...
oracle中累計求和 oracle累計求和
oracle累計求和 將當前行某列的值與前面所有行的此列值相加,即累計求和 方法一 with t as select 1 val from dual union all select 3 from dual union all select 5 from dual union all select ...