Aktualisieren Sie vorhandene Datenbankwerte aus der Tabelle

8

Ich habe eine bestehende MSSQL-Datenbank, in der die Werte in einigen Spalten aktualisiert werden müssen, entsprechend einer Tabelle, die die Zuordnungen von alten Daten und neuen Daten enthält.

Die Tabelle ist wie folgt:

%Vor%

Dabei sind ABCD die Spaltennamen, die sich auf die Datenbank beziehen, und OLD / NEW bezieht sich auf die Daten.

Also für jede Zeile (ca. 2500 Zeilen)

Die Datenbankwerte, die in jeder Spalte mit OLD übereinstimmen, müssen in NEU geändert werden

Meine derzeitigen Gedanken sind es in ähnlicher Weise zu tun: SQL-Anweisung, die eine Oracle-Datenbanktabelle aktualisiert aus einer Excel-Tabelle

Im Wesentlichen, Excel zu erhalten, um eine Liste von Replace-Anweisungen zu formulieren, obwohl dies sich wie eine entsetzlich verschlungene Art und Weise anfühlt, mit dem Problem umzugehen!

Gibt es eine Möglichkeit, SQL über jede Zeile des Arbeitsblattes zyklisch durchlaufen zu lassen, überprüfen Sie alle Datensätze für a = alt, b = alt2, c = alt3, d = alt4 und ersetzen Sie dann diese Werte durch das entsprechende a = neu, b = neu2, c = neu3, d = neu4?

    
sbozzie 11.02.2013, 14:29
quelle

1 Antwort

11

Sie sollten nicht jede Zeile im Arbeitsblatt durchlaufen müssen. Sie können den Befehl OPENROWSET wie in der Antwort verwenden, mit der Sie die Tabellenkalkulationsdaten in eine Art temporäre Tabelle geladen haben. Sie können dann eine normale UPDATE -Anweisung für diese Tabelle ausführen.

Es würde ungefähr so ​​aussehen

%Vor%     
Jeff Rosenberg 11.02.2013, 14:43
quelle

Tags und Links