merge into基本用法
由於merge into平時很少用,但這次用到它來給記錄做插入更新,於是簡單記下最基本的用法。這裡的例子就是給一個表中符合條件的資料做個值計數的更新,如果找到符合ID條件的記錄,那麼就將其值欄位加1,否則就插入這條新的記錄,並初始化值。
建立測試表並插入資料:
create table test1(id number, val number);
insert into test1 values(101, 1);
insert into test1 values(102, 1);
commit;
select * from test1;
ID VAL
---------- ----------
101 1
102 1
做merge into操作,新的一條資料被插入:
merge into test1 t1
using (select count(*) cnt from test1 where id = 103) t2 on (cnt <> 0)
when matched then
update set val = val + 1 where id = 103
when not matched then
insert values(103, 1);
commit;
select * from test1;
ID VAL
---------- ----------
101 1
102 1
103 1
再執行一個merge into後,資料被更新:
ID VAL
---------- ----------
101 1
102 1
103 2
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28974745/viewspace-2216140/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLServer MERGE 用法SQLServer
- merge into 用法深思
- SQL中Merge的用法SQL
- GORM基本用法GoORM
- Promise基本用法Promise
- BigDecimal 基本用法Decimal
- Git基本用法Git
- CompletableFuture基本用法
- Moya基本用法
- requests基本用法
- Java 8 中 Map 騷操作之 merge() 的用法Java
- vector的基本用法
- MongoDB的基本用法MongoDB
- async的基本用法
- dva的基本用法
- rematch的基本用法REM
- React context基本用法ReactContext
- Generator的基本用法
- webpack的基本用法Web
- 圖解 Git 基本命令 merge 和 rebase圖解Git
- allure用法(一)-配置資訊及基本用法
- Python中if的基本用法Python
- vim配置及基本用法
- Quartz:基本用法總結quartz
- JAVA CDI @Inject基本用法Java
- commander.js基本用法JS
- ElasticSearch之基本用法APIElasticsearchAPI
- Object.defineProperty基本用法Object
- redux-saga基本用法Redux
- linux中grep基本用法Linux
- QMl 中alias 的基本用法
- Hive的基本操作用法Hive
- JAVA的陣列基本用法Java陣列
- docker 1.2 之docker基本用法Docker
- 反射機制的基本用法反射
- Promise含義及基本用法Promise
- string 函式的基本用法函式
- workflow 之 Prefect 基本用法(qbit)