2016-04-28 13 views
0

Ich brauche nur neue Zeilen in eine Oracle (12c) SQL-Tabelle einfügen, wenn sie existiert nicht Java-Code Verwendung Es ist möglich, dass es mehr als 100 Zeilen sein, Die Prüfung und dieOracle SQL mehr neue Zeilen verschmelzen in eine Tabelle

ideal Einsatz würde ich mag eine Merge-Anweisung mit mehreren Einsätzen so etwas haben:

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") 
     ... 
     ... 
     ... 

aber ich habe Probleme mit der Syntax und ich kann keine Beispiele für diesen Fall Äther nicht finden

Ich möchte wissen:

  1. , wenn dies überhaupt möglich
  2. wenn ja, ist es der richtige Weg zu gehen oder gibt es eine bessere Lösung
  3. was die Syntax sein sollte (einige Beispiel wird groß sein)
  4. wenn es nicht möglich ist, was ist der richtige Weg.

Dank für Hilfe

+0

java irrelevant fusionieren. Sie schreiben eine SQL-Abfrage, die unabhängig von der verwendeten Sprache dieselbe Abfrage ist. –

+0

Es ist möglich, und oft ist es die beste Lösung sogar für die Einfügung (und besonders, wenn Sie AND einfügen müssen, um Zeilen in der Zieltabelle zu aktualisieren). Die Syntax finden Sie zum Beispiel hier: https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm Sucht nach ein paar Beispielen für Sie. – mathguy

+0

danke mathguy, habe ich diesen Link bereits überprüft, aber es zeigt nur, wie Zeilen aus anderen Tabellen zusammenführen und ich muss neue Zeilen hinzufügen - das ist was verwirrt mich, danke nochmal –

Antwort

0

OldProgrammer Beratung Nach i temporäre Tabelle erstellen wird, legen Sie dort die neuen Daten und die zwischen den beiden Tabellen

Verwandte Themen