Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So generieren Sie Einfügeanweisungen aus Excel-Daten und laden sie in eine SQL Server-Tabelle - SQL Server / TSQL-Tutorial Teil 103

Szenario:

Sie arbeiten als SQL Server Developer, Sie haben Daten in einer Excel-Datei für dbo.Customer-Tabellen erhalten. Sie müssen diese Daten in die Tabelle dbo.Customer laden. Wie würden Sie eine Einfügeerklärung für bestimmte Daten in Excel generieren, damit Sie sie in DEV, QA, UAT und Produktion laden können.

Lösung:

Es gibt mehrere Möglichkeiten, diese Anforderung zu erfüllen. Sie können den Import/Export-Assistenten zuerst verwenden, um die Daten in die Entwicklungsumgebung zu laden und dann ein Einfügeskript aus der Tabelle in SSMS zu generieren.

Wenn Sie die Daten nicht in die Tabelle laden möchten, können Sie Excel verwenden Formeln zum Generieren von Insert-Anweisungen aus Daten.

Generieren von Einfügeanweisungen aus Excel für eine SQL Server-Tabelle

Zuerst müssen wir wissen, in welche Tabelle wir die Daten laden wollen. In unserem Fall ist es dbo.Customer. Auch die Namen der in Excel bereitgestellten Spalten sind genau die gleichen wie unsere dbo.Customer-Tabellenspalten.
Gehen Sie zu einer beliebigen Spalte und geben Sie diese Formel wie unten in der ersten Zeile gezeigt ein. Ich habe in Spalte G.

="insert into dbo.Customer ("&A1&","&B1&","&C1&","&D1&","&E1&") Values"

In Excel beginnen wir die Formel mit =(Gleichheitszeichen). Zur Verkettung verwenden wir &. Um eine Zeichenfolge hinzuzufügen, müssen wir doppelte Anführungszeichen setzen, wie wir es beim Komma "," getan haben.

Generieren von Einfügeanweisungen für SQL Server-Tabellen aus Excel-Daten

Nun ist der erste Teil unserer Insert-Anweisung fertig. wir müssen den Werteteil für unsere Insert-Anweisung generieren. Gehen Sie zur zweiten Zeile und verwenden Sie die folgende Formel.

="('"&A2&"','"&B2&"',"&C2&",'"&TEXT(D2,"dd/mm/yyyy") &"',"&E2&"),"

Ziehen Sie es nach unten bis zum letzten Datensatz. Alle Insert-Werte werden generiert. Kopieren Sie alle Werte aus Spalte G und fügen Sie sie in SSMS ein. Am Ende des letzten Datensatzes steht ein zusätzliches Komma (,). Entfernen Sie diese und führen Sie Ihre Insert-Anweisung aus, um zu testen, ob sie wie erwartet funktioniert.

Generieren von Einfügeanweisungen aus einer Excel-Datei für eine SQL Server-Tabelle


Hier sind die generierten Insert Statements, die aus der G-Spalte kopiert und in SSMS eingefügt wurden.

Video-Demo:Generieren einer Einfügungsanweisung aus Excel-Datensätzen für eine SQL Server-Tabelle