Orcale筆記 Merge into 語法總結

2021-08-01 13:49:06 字數 1181 閱讀 8121

接下來我們就做乙個簡單的例項來演示一下:有乙個表t,有兩個欄位a、b,我們想在表t中根據a的值判斷是否存在然後進行insert/update操作。在microsoft的sql語法中,很簡單的一句判斷就可以了,sql server中的語法如下:

if exists(select

1from t where t.a='1001' ) update t set t.b=2

where t.a='1001'

else

insert

into t(a,b) values('1001',2);

在orcale資料庫中用merge into語法實現上面的例子如下:
//語法如下:

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 = col2_val

when

notmatched

then

insert (column_list) values (column_values);

//例項實現:

merge

into t t1

using (select a,b from t where t.a='1001') t2 //t2代表記錄數

on ( t1.a=t2.a) //判斷語句

when

matched

then //if

true

update

set t1.b = 2 //執行update

when

notmatched

then //if

false

insert (a,b) values('1001',2); //執行insert

ORCALE學習筆記

chr 函式表示返回指定 ascii 碼的字元,作用和 ascii 相反。ascii 函式表示返回指定字元的ascii碼,作用和 chr 相反。add months y 在 x時間點往後延遲y個月,y為負則往前推延 execute immediate用法1 立刻執行sql語句trunc 類似擷取函式...

orcale資料恢復

恢復已刪除的表 select from aak file drop table aak file select from recyclebin where original name aak file flashback table aak file to before drop desc aak ...

orcale 替換函式

2017年11月21日 10 05 22 1.translate 語法 translate char,from,to 用法 返回將出現在from中的每個字元替換為to中的相應字元以後的字串。若from比to字串長,那麼在from中比to中多出的字元將會被刪除。三個引數中有乙個是空,返回值也將是空值。...