Bei Datenbanken dreht sich alles um CRUD -Operationen. Wir erstellen, lesen, aktualisieren und löschen Daten in verschiedene Datenbanktabellen. Die meisten CRUD -Operationen in einer Datenbank erfordern jedoch separate Logik für Aufgaben wie das Einfügen, Aktualisieren und Löschen.
Dies kann schnell überflüssig werden. SQL Server bietet eine effiziente Möglichkeit, CRUD -Operationen mithilfe der Merge -Anweisung durchzuführen. Microsoft hat die Merge -Anweisung in SQL Server 2008 und höher eingeführt.
In diesem Tutorial wird verstehen.
Die Grundlagen
Nehmen wir ein Beispiel dafür, wo Sie zwei Tische haben. Die Ziel- und Quelltabellen. Wenn Sie die Werte in der Zieltabelle basierend auf den Werten aus den Quelltabellen aktualisieren müssen, können Sie drei Pfade aufnehmen:
Um die oben genannten Vorgänge einzeln auszuführen, müssen wir drei separate Logik zum Einfügen, Löschen und Aktualisieren von Vorgängen erstellen. Wir können sie jedoch mit der Merge -Anweisung kombinieren.
Wir können die Syntax der Merge -Anweisung wie gezeigt ausdrücken:
Merge target_table mithilfe von Source_table mergeWir identifizieren die Ziel- und Quellentabelle und geben sie in der Zusammenführungsklausel an. Wir geben dann eine Bedingung an. Die angegebene Bedingung steuert, wie die Zeilen aus der Quelltabelle mit den Zieltabellen übereinstimmen. Betrachten Sie es als eine Join -Bedingung.
Der nächste Block hält die Aktionen, die auf der Grundlage des Ergebnisses der angegebenen Bedingung durchgeführt werden sollen.
Wenn die Bedingung zu einer Übereinstimmung führt, aktualisieren wir die Datensätze in der Zieltabelle aus der Quellentabelle.
Wenn die Datensätze jedoch nicht übereinstimmen (aus der Zieltabelle), fügen wir die fehlenden Datensätze in die Zieltabelle ein.
Wenn die Datensätze (in der Zieltabelle) nicht übereinstimmt, löschen wir die unvergleichlichen Datensätze aus der Zieltabelle.
SQL Server - Beispiel zusammenführen
Nehmen wir ein einfaches Beispiel. Angenommen, wir haben zwei Tabellen mit Produktinformationen als Products_Target und product_source.
Das Beispielcode -Snippet zeigt die SQL -Abfragen zum Erstellen und Aktualisieren der angegebenen Tabellen an.
Salesdb verwenden;Jetzt haben wir zwei Tabellen, die als Ziel und Quelle durchgeführt werden. Die in den Tabellen gespeicherten Datensätze sind wie gezeigt:
Um die Daten zwischen der Ziel- und Quellentabelle zu synchronisieren, können wir eine Merge -Abfrage ausführen, wie im folgenden Beispiel gezeigt:
Merge products_target als tSobald wir die obige Abfrage ausgeführt haben, führt der SQL -Server die angegebenen Operationen basierend auf der resultierenden Bedingung aus.
Wir können die Tabellen nach dem Zusammenführungsvorgang abfragen als:
Wählen Sie * aus Products_Source;Die resultierenden Werte sind wie im folgenden Beispiel gezeigt:
Wie Sie bemerken werden, werden die Quell- und Zieltabellensätze mit den aktualisierten, eingefügten und gelöschten Werten synchronisiert.
Abschluss
Diese Anleitung zeigt, wie Sie mit der SQL Server Merge -Anweisung arbeiten können. Sie können Einsatz-, Aktualisierungs- und Löschen von Vorgängen auf Tabellen basierend auf den resultierenden Bedingungen durchführen.
Vielen Dank für das Lesen!