「oracle update子查詢」的推薦目錄:
- 關於oracle update子查詢 在 コバにゃんチャンネル Youtube 的最佳解答
- 關於oracle update子查詢 在 大象中醫 Youtube 的最讚貼文
- 關於oracle update子查詢 在 大象中醫 Youtube 的最佳貼文
- 關於oracle update子查詢 在 [SQL ] 有資料UPDATE,無則INSERT(oracle) - 看板Database 的評價
- 關於oracle update子查詢 在 Oracle SQL: Update a table with data from another table 的評價
- 關於oracle update子查詢 在 網路上關於oracle update select用法-在PTT/MOBILE01/Dcard ... 的評價
- 關於oracle update子查詢 在 網路上關於oracle update select用法-在PTT/MOBILE01/Dcard ... 的評價
- 關於oracle update子查詢 在 網路上關於oracle update select用法-在PTT/MOBILE01/Dcard ... 的評價
- 關於oracle update子查詢 在 Updating from another Table in Oracle - Regular Sized Data 的評價
- 關於oracle update子查詢 在 Oracle SELECT FOR UPDATE /عربي - YouTube 的評價
- 關於oracle update子查詢 在 UPDATE the records in oracle SQL with joinings and where ... 的評價
oracle update子查詢 在 大象中醫 Youtube 的最讚貼文
oracle update子查詢 在 大象中醫 Youtube 的最佳貼文
oracle update子查詢 在 網路上關於oracle update select用法-在PTT/MOBILE01/Dcard ... 的推薦與評價
2022oracle update select用法討論資訊,在PTT/MOBILE01/Dcard上的升學考試資訊整理,找oracle update語法,Oracle update join 用法,SQL update select在Instagram影片 ... ... <看更多>
oracle update子查詢 在 [SQL ] 有資料UPDATE,無則INSERT(oracle) - 看板Database 的推薦與評價
資料庫名稱:oracle
資料庫版本:11g
內容/問題描述:
各位好,小弟目前是寫JAVA的工程師。
最近遇到的問題是,如果資料庫有資料就UPDATE,否則就INSERT。
在MySQL上可以用ON DUPLICATE,但Oracle無這個語法。
後來有查詢到MERGE INTO的語法。
我的語法大概是如下
MERGE INTO TABLE_A TA
USING ( SELECT '值A' AS X,'值B' AS Y FROM DUAL) TB
ON(TA.X=TB.X)
WHEN MATCHED UPDEATE...
WHEN NOT MATCHED THEN INSERT...
但公司的DBA說MERGE INTO是資料倉儲(?)用,不是給我這樣用的。
所以現在的解法是先SELECT回JAVA後,再判斷要更新還是插入。
但這樣不就要2次IO嗎?如果我現在要處理10筆資料,不就要10*2=20次IO?
想請問是否有其他寫法呢?(有另外查到用EXCEPTION的方式,但preparestatment似乎
不能加上分號(;)?這我會再試試看。)
謝謝~~
---------------------
10/26更新
謝謝各位的回應!也謝謝私底下那位C大提出的看法與提點,惠我良多。
首先是MERGE,因為這語法並不是每個資料庫都通用,所以有時候不使用可能是為了
轉換資料庫後,不易察覺、維護。(我當時確實沒想到這點)
這邊提供一下C大的提點寫法:
update table_A
set ...
where (table_A inner join table_b)
ref:https://www.geeksengine.com/article/oracle-cross-table-update.html
可以參考一下第三點的寫法。
插入則是
insert into table_A
(select ...
table_A left join table_B)
---------------------
我原本的想法是先SELECT出來到JAVA,然後產兩個SET,一個存要更新的,一個存
要插入的;本來還想測使用MERGE與先SELECT資料再判斷要更新還是插入(2次IO)的耗時,
但因為USER突然又增減一堆功能...這可能要等之後再測了。
在此再次謝謝各位~~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.209.206
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1477216311.A.5CB.html
... <看更多>