Hoscha: SQL-Befehl um Datensätze mit ident. Keys zu überschreiben?

Hallo miteinander,

wieder einmal ein kleines DB-Problem. Ich habe gestern schon gepostet, aber jetzt ist mir eine neue Idee gekommen:

Kann mir jemand mit einem SQL-Befehl auf die Sprünge helfen?
Ich habe eine Tabelle, bei der ein Schlüssel in Form einer Nummer existiert.
Es muss ein Update dieser Tabelle durchgeführt werden, indem komplett neue Daten aus einer zweiten Datenbank geholt werden.

Nun sollen beim Upate nur diejenigen Datensätze mit identischem Schlüssel überschrieben, die anderen (neuen) hinten an die Tabelle angefügt werden.

Gibt es in SQL (ich verwende MSQL) einen automatisierten zusatz für insert beispielsweise, der Reihen mit identischen Schlüsseln überschreibt? Oder realisiere ich das in Form von mehreren Zeilen SQL-Code?

Danke im voraus,
Hoscha

  1. Hallo Hoscha,

    Gibt es in SQL (ich verwende MSQL)...

    meinst Du MS-SQL oder MySQL?

    ... einen automatisierten zusatz für insert beispielsweise, der Reihen mit identischen Schlüsseln überschreibt? Oder realisiere ich das in Form von mehreren Zeilen SQL-Code?

    Sowas ähnliches mußte ich auch mal machen. Ich habe es - vermutlich etwas unelegant durch die Brust in's Auge - mit VB gemacht: Per ADO recordsets der benötigten Daten (alt - neu) erstellt, die Datensätze der alten Tabelle durchlaufen und mit den IDs der neuen verglichen und die Daten entsprechend aktualisiert und schließlich die übrigen, neuen Datensätze hintenangefügt. Als Kennzeichen, daß aus der neuen Tabelle schon Datensätze in die alte Tabelle übernommen wurden, habe ich ein entsprechendes Flag in der neuen Tabelle gesetzt.....

    CU
    Susanne

    1. Hallo Susanne,

      meinst Du MS-SQL oder MySQL?

      sorry, ich meinte MS-SQL.

      Das klingt nach vielen Zeilen Code. Ist es nicht möglich, das ganze mittels einiger if-Schleifen in SQL zu programmieren?

      Naja, ich arbeite dran,
      Besten Dank,
      Hoscha