[Q]如果存在就更新,不存在就插入可以用一個語句實現嗎 zt
[A]9i已經支援了,是Merge,但是隻支援select子查詢,
如果是單條資料記錄,可以寫作select …… from dual的子查詢。
語法為:
MERGE INTO table
USING data_source
ON (condition)
WHEN MATCHED THEN update_clause
WHEN NOT MATCHED THEN insert_clause;
如
MERGE INTO course c
USING (SELECT course_name, period,
course_hours
FROM course_updates) cu
ON (c.course_name = cu.course_name
AND c.period = cu.period)
WHEN MATCHED THEN
UPDATE
SET c.course_hours = cu.course_hours
WHEN NOT MATCHED THEN
INSERT (c.course_name, c.period,
c.course_hours)
VALUES (cu.course_name, cu.period,
cu.course_hours);
如果是單條資料記錄,可以寫作select …… from dual的子查詢。
語法為:
MERGE INTO table
USING data_source
ON (condition)
WHEN MATCHED THEN update_clause
WHEN NOT MATCHED THEN insert_clause;
如
MERGE INTO course c
USING (SELECT course_name, period,
course_hours
FROM course_updates) cu
ON (c.course_name = cu.course_name
AND c.period = cu.period)
WHEN MATCHED THEN
UPDATE
SET c.course_hours = cu.course_hours
WHEN NOT MATCHED THEN
INSERT (c.course_name, c.period,
c.course_hours)
VALUES (cu.course_name, cu.period,
cu.course_hours);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/51862/viewspace-180505/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 大型翻車現場:如何實現記錄存在的話就更新,如果記錄不存在的話就插入。很簡單、但是很實用
- 教你Mysql如何實現不存在則插入,存在則更新MySql
- 視訊+圖文串講:MySQL 行鎖、間隙鎖、Next-Key-Lock、以及實現記錄存在的話就更新,如果記錄不存在的話就插入如何保證併發安全MySql
- MySQL INSERT插入條件判斷:如果不存在則插入MySql
- android,如果某個檔案存在就刪除Android
- MySQL 當記錄不存在時插入,當記錄存在時更新MySql
- Oracle存在修改,不存在插入記錄Oracle
- mysql 存在該記錄則更新,不存在則插入記錄的sqlMySql
- Python檢驗一個檔案是否存在,如果不在就自己填寫內容。Python
- 往一個陣列物件裡面傳值,如果id已經存在就替換id同一個物件裡面的另一個值。沒有就新增陣列物件
- 我常用經典SQL語句[就先寫一句吧]SQL
- Java實現一個棧就這麼簡單Java
- [Q]怎麼實現一條記錄根據條件多表插入 zt
- Python MongoDB 插入資料,已存在則不執行,不存在則插入PythonMongoDB
- 一個insert插入語句很慢的優化優化
- 簡單查詢、插入、更新、刪除SQL語句SQL
- 無卡號就一定安全嗎?Apple Card同樣存在克隆風險APP
- 現在如果有一次提升專業技能高薪就業的機會你會拒絕嗎?高薪就業
- Oracle多表插入語句Oracle
- 插入排序就這麼簡單排序
- [Q]如果設定自動跟蹤 zt
- Spring Data JPA日誌列印SQL語句和入參真就這麼簡單嗎?SpringSQL
- Laravel 批量插入(如果資料存在刪除原資料)Laravel
- Oracle的多表插入語句Oracle
- PHP配上MySQL實現批量更新插入PHPMySql
- 使用遊標迴圈進行SQL更新插入的SQL語句SQL
- 面試題:編寫一個函式來查詢字串陣列中的最長公共字首。 如果不存在公共字首,返回空字串 ""。(c++實現)面試題函式字串陣列C++
- 織夢dedecms更新時報模板不存在,無法解析
- Python學習後好就業嗎?Python就業Python就業
- 一看就會的jQuery外掛實現方法jQuery
- 實現一個任務排程系統,看這篇文章就夠了
- 嵌入式就業難嗎?就業
- 用一條mysql語句插入多條資料MySql
- Oracle 使用一條insert語句完成多表插入Oracle
- 【SQL】使用一條INSERT語句完成多表插入SQL
- MySQL 匯出一條資料的插入語句MySql
- (zt) Oracle語句優化30個規則詳解Oracle優化
- 在重慶找個IT職位就那麼難嗎?