Scenariusz:
Pracujesz jako SQL Server Developer, otrzymałeś dane w pliku Excel dla tabel dbo.Customer. Musisz załadować te dane do tabeli dbo.Customer. Jak wygenerowałbyś Insert Statement dla podanych danych w Excelu, aby można było załadować je do DEV, QA, UAT i Production.Rozwiązanie:
Istnieje wiele sposobów na spełnienie tego wymogu. Możesz najpierw użyć Kreatora importu/eksportu, aby załadować dane do środowiska programistycznego, a następnie wygenerować skrypt wstawiania z tabeli w SSMS.Jeśli nie chcesz ładować danych do tabeli , możesz użyć programu Excel formuła do wygenerowania instrukcji Insert z danych.
Jak generować instrukcje Insert z programu Excel dla tabeli SQL Server |
Przede wszystkim musimy wiedzieć, do której tabeli chcemy załadować dane. W naszym przypadku jest to dbo.Customer. Również nazwy kolumn podane w Excelu są dokładnie takie same jak nasze kolumny tabeli dbo.Customer.
Przejdź do dowolnej kolumny i wpisz tę formułę, jak pokazano poniżej w pierwszym wierszu. Wpisałem w kolumnie G.
="insert in dbo.Customer ("&A1&","&B1&","&C1&","&D1&","&E1&") Wartości"
W Excelu zaczynamy formułę od =(równe znakowi). Do konkatenacji używamy &. Aby dodać ciąg znaków, musimy wstawić podwójne cudzysłowy, tak jak w przypadku przecinka ",".
Jak generować instrukcje Insert dla tabeli SQL Server z danych programu Excel |
Teraz pierwsza część naszej instrukcji Insert jest gotowa. musimy wygenerować część wartości dla naszej instrukcji insert. Przejdź do drugiego wiersza i użyj poniższego wzoru.
="('"&A2&"','"&B2&"',"&C2&",'"&TEXT(D2,"dd/mm/rrrr") &"',"&E2&"),"
Przeciągnij go aż do ostatniego rekordu. Wszystkie wartości Insert zostaną wygenerowane. Skopiuj wszystkie wartości z kolumny G i wklej do SSMS. Na końcu ostatniego rekordu będzie dodatkowy przecinek(,). Usuń to i uruchom instrukcję INSERT, aby sprawdzić, czy działa zgodnie z oczekiwaniami.
Jak wygenerować instrukcje Insert z pliku Excel dla tabeli SQL Server |
Oto wygenerowane instrukcje Insert, skopiowane z kolumny G i wklejone do SSMS.
Prezentacja wideo:Jak wygenerować instrukcję Insert z rekordów programu Excel dla tabeli programu SQL Server