2016-04-28 80 views
0

我需要將新行插入到oracle(12c)SQL表中,但前提是它們不存在使用java代碼 有可能會有超過100行勾選和插入oracle sql多個新行合併到一個表中

理想,我想有多個插入一個MERGE語句 是這樣的:

MERGE INTO some_table t 
USING(???) 
ON(???) 
WHEN MATCHED THEN UPDATE ??? 
WHEN NOT MATCHED THEN INSERT (t.id, t.val) 
    value("some_id","some_data") 
     ... 
     ... 
     ... 

,但我有語法的麻煩,我無法找到這種情況下醚

任何實例

我想知道:

  1. 如果這甚至可能
  2. 如果是的話,它的正確的方法去還是有更好的解決方案
  3. 應該是什麼語法(有些例子將是巨大的)
  4. 如果它不可能超過什麼是正確的方式。

感謝您的幫助

+0

Java的不相干之間合併。您正在編寫一個sql查詢,無論您使用何種語言,這都是相同的查詢。 –

+0

這是可能的,而且即使是插入也是最好的解決方案(尤其是如果您需要插入AND來更新目標表中的行)。例如,可以在這裏找到語法:https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm將爲您尋找幾個示例。 – mathguy

+0

謝謝mathguy,我已經檢查過這個鏈接,但是它只顯示瞭如何合併其他表中的行,並且我需要添加新行 - 這就是讓我感到困惑的問題,再次感謝 –

回答

0

繼OldProgrammer建議我將創建臨時表,插入有新的數據和將兩個表