# DB2 delete/update über 2 Tabellen



## The_S (29. Jun 2009)

Hi-Ho,

ich habe zwei Tabellen (A und B), die exakt identisch aufgebaut sind. Eine Spalte hat dabei den Namen c_id. In B befinden sich mehr Datensätze als in A. Ich möchte jetzt (natürlich möglichst performant) folgendes erreichen:

1.) Lösche alle Datensätze aus B, deren c_id auch in A vorkommt.
2.) Schreibe alle Sätze aus A in B.

Natürlich könnte ich hierfür ein DELETE und ein INSERT Statement verwenden. Aber so wie ich die DB2 kenne, gibts da etwas wesentlich performanteres (in A sind gute 150.000 Datensätze, in B gute 450.000) .

Danke!


----------



## Michael... (1. Jul 2009)

Kenne mich mit DB2 nicht sonderlich aus. Aber warum möchtest Du Datensätze aus B löschen, die Du anschliessend doch wieder einfügst?
In Oracle würde ich in etwa sowas machen:

Insert into B (Select * from A minus Select * from B)


----------



## The_S (1. Jul 2009)

Uff, das jetzt zu erklären würde länger dauern. Sorry. Kannst mir aber glauben, dass es sinnvoll ist  . Aber danke für deine Antwort  .


----------

