Oracle 'ALLES EINFÜGEN' ignorieren Duplikate

Ich habe eine Datenbank-Tabelle mit einer unique-Einschränkung auf Sie (einzigartigen (DADSNBR, DAROLEID) - pair-Mädchen). Ich werde das einfügen mehrerer Werte in dieser Tabelle gleichzeitig, so würde ich mag, um es getan mit einer Anfrage - ich nehme an, das wäre der schnellere Weg. Meine Abfrage ist so:

INSERT ALL
    INTO ACCESS (DADSNBR, DAROLEID) VALUES (68, 1)
    INTO ACCESS (DADSNBR, DAROLEID) VALUES (68, 2)
    INTO ACCESS (DADSNBR, DAROLEID) VALUES (68, 3)
    INTO ACCESS (DADSNBR, DAROLEID) VALUES (68, 4)
SELECT 1 FROM DUAL

Da gibt es einige Einträge in der Anweisung, die Duplikate von denen, die Sie bereits in der Datenbank, das ganze einfügen schlägt fehl, und keine Zeilen eingefügt werden.

Gibt es eine Möglichkeit zu ignorieren, die Fälle, in denen die unique-Einschränkung fehl, und legen Sie einfach diejenigen, die einzigartig sind, die zimmerreserviereung, ohne das es aufgeteilt in einzelne INSERT-Anweisungen?

Edit: merkte ich, dass ich wahrscheinlich nicht wollen, tun das sowieso, aber ich bin immer noch neugierig, ob es möglich ist oder nicht.

  • Keiner deiner Zeilen die Duplikate (?!)
  • Ich meine, Sie sind Duplikate der Werte, die bereits in der Datenbank vor dem ausführen der insert-Anweisung. Bearbeitet meine Frage für Klarheit.
InformationsquelleAutor Maccath | 2012-11-16
Schreibe einen Kommentar