Oracle中Merge into用法總結

2021-09-08 09:14:47 字數 1013 閱讀 4878

oracle中,要實現判斷有資料則更新,無資料則插入功能,要用到merge into來實現(oracle 9i引入的功能),其語法如下:

本方法適用於大資料量更新

merge into

table_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 into

t 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 ...