Scenario:
Je werkt als SQL Server Developer, je hebt gegevens ontvangen in een Excel-bestand voor dbo.Klanttabellen. U moet deze gegevens in de tabel dbo.Customer laden. Hoe zou u een invoegverklaring voor bepaalde gegevens in Excel genereren, zodat u deze kunt laden in DEV, QA, UAT en productie.Oplossing:
Er zijn meerdere manieren om aan deze eis te voldoen. U kunt de wizard Importeren/Exporteren eerst gebruiken om de gegevens in de ontwikkelomgeving te laden en vervolgens een invoegscript uit de tabel in SSMS genereren.Als u de gegevens niet in de tabel wilt laden, kunt u Excel gebruiken formules om een Insert-statement uit gegevens te genereren.
Invoegverklaringen genereren vanuit Excel voor SQL Server-tabel |
Allereerst moeten we weten in welke tabel we de gegevens willen laden. In ons geval is dat dbo.Klant. Ook zijn de namen van kolommen in Excel precies hetzelfde als onze dbo.Klantentabelkolommen.
Ga naar een willekeurige kolom en typ deze formule zoals hieronder getoond in de eerste rij. Ik heb kolom G ingetypt.
="insert into dbo.Customer ("&A1&","&B1&","&C1&","&D1&","&E1&") Waarden"
In Excel beginnen we de formule met =(gelijk aan teken). Voor aaneenschakeling gebruiken we &. Om string toe te voegen moeten we dubbele aanhalingstekens plaatsen zoals we deden voor komma ",".
Invoegverklaringen voor SQL Server-tabel genereren vanuit Excel-gegevens |
Nu is het eerste deel van ons Insert-statement klaar. we moeten het waardengedeelte voor onze insert-instructie genereren. Ga naar de 2e rij en gebruik onderstaande formule.
="('"&A2&"','"&B2&"',"&C2&",'"&TEXT(D2,,"dd/mm/yyyy") &"',"&E2&"),"
Sleep het helemaal naar de laatste plaat. Alle invoegwaarden worden gegenereerd. Kopieer alle waarden uit kolom G en plak ze in SSMS. Er komt een extra komma (,) aan het einde met de laatste record. Verwijder dat en voer uw insert-statement uit om te testen of het werkt zoals verwacht.
Invoegverklaringen genereren vanuit Excel-bestand voor SQL Server-tabel |
Hier zijn de gegenereerde Insert Statements, gekopieerd uit de G-kolom en geplakt in SSMS.
Videodemo:Hoe u een Insert-instructie genereert vanuit Excel-records voor SQL Server-tabel