接下來我們就做乙個簡單的例項來演示一下:有乙個表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中多出的字元將會被刪除。三個引數中有乙個是空,返回值也將是空值。...