2017-12-21 4 views
3

Wir verwenden eine kommerzielle Anwendung, die anpassbar ist. Front End ist ein Webserver mit MS SQL Server im Hintergrund.SQL Update für mehrere Datenbankeinträge

Wir haben eine Vermögensverwaltung, mit der wir einige Verträge verknüpfen können.

Jetzt muss ich einen neuen Workflow erstellen: Ein Asset hat ein Costcenter und alle verknüpften Verträge zu diesem Objekt müssen das Costcenter automatisch in die Nacht migrieren.

Zum Beispiel, dass meine Ansicht „View_Info“ ist benötigte Informationen zu erhalten:

IDAsset - IDContract - ConstCenterAsset 

111  222   333 
111  223   333 
112  224   334 
113  225   335 
.... 

Und meine Haupttabelle „Vertrag“:

ID - CostCenter 

222 000 
223 000 
224 000 
225 000 

Ich weiß, wie in „Vertrag“ einen Eintrag aktualisieren Tabelle mit SQL UPDATE Befehl ...

Aber wie kann ich es für alle vorhandenen Einträge tun ...

Ich habe etwa 1000 DB Einträge dialy Nacht aktualisieren ...

Antwort

1

können Sie UPDATE mit JOIN wie folgt aus:

UPDATE c 
SET c.CostCenter = v.ConstCenterAsset 
FROM Contract as c 
INNER JOIN View_Info as v ON v.IDContract = c.ID; 

diese Weise können alle die Tabelle Contract "Einträge aus der Sicht View_Info aktualisiert wird. Sie können auch eine zusätzliche WHERE-Klausel am Ende hinzufügen, um die Einträge zu begrenzen, die aktualisiert werden sollen.

+0

Vielen Dank! Ich werde es heute Nachmittag versuchen :) Ich dachte, dass eine For-Schleife oder ähnliches benötigt wird, um alle Einträge zu aktualisieren. – Henning