Bazy danych dotyczą operacji CRUD. Tworzymy, czytamy, aktualizujemy i usuwamy dane w różnych tabelach bazy danych. Jednak większość operacji CRUD w bazie danych wymaga oddzielnej logiki dla zadań, takich jak wstawienie, aktualizacja i usuwanie.
Może to szybko zbędne. SQL Server zapewnia wydajny sposób wykonywania operacji CRUD za pomocą instrukcji scalania. Microsoft wprowadził instrukcję scalania w SQL Server 2008 i powyżej.
Ten samouczek zrozumie, jak korzystać z instrukcji scalania SQL Server do wykonywania wielu operacji w jednym zapytaniu.
Podstawy
Weźmy przykład tego, gdzie masz dwie tabele. Tabele docelowe i źródłowe. Jeśli chcesz zaktualizować wartości w tabeli docelowej na podstawie wartości z tabel źródłowych, możesz podjąć trzy ścieżki:
Aby wykonać powyższe operacje indywidualnie, musimy utworzyć trzy osobne logikę do operacji wstawiania, usuwania i aktualizacji. Możemy jednak połączyć je za pomocą instrukcji scalania.
Możemy wyrazić składnię instrukcji scalania, jak pokazano:
Scal Target_Table za pomocą źródła_tablaIdentyfikujemy tabelę docelową i źródłową i określamy je w klauzuli scalania. Następnie określamy warunek. Określone warunki kontroluje sposób, w jaki wiersze z tabeli źródłowej są dopasowane do tabel docelowych. Pomyśl o tym jak o stanie połączenia.
Następny blok zawiera działania, które należy wykonać na podstawie wyniku określonego warunku.
Jeśli warunek powoduje dopasowanie, aktualizujemy rekordy w tabeli docelowej z tabeli źródłowej.
Jeśli jednak rekordy są niezrównane (z tabeli docelowej), wstawiamy brakujące rekordy w tabeli docelowej.
Wreszcie, jeśli rekordy są niezrównane (według tabeli docelowej), usuwamy niezrównane rekordy z tabeli docelowej.
SQL Server - Scal przykład
Weźmy prosty przykład. Załóżmy, że mamy dwie tabele zawierające informacje o produktach jako produkty_target i produkt_source.
Przykładowy fragment kodu pokazuje zapytania SQL, aby utworzyć i aktualizować określone tabele.
Użyj SalesDB;Teraz mamy dwie tabele działające jako cel i źródło. Pokazane są rekordy przechowywane w tabelach:
Aby zsynchronizować dane między tabelą docelową i źródłową, możemy wykonać zapytanie scalania, jak pokazano w poniższym przykładzie:
Scal Products_Target jako tPo wykonaniu powyższego zapytania serwer SQL wykonuje określone operacje na podstawie uzyskanego warunku.
Możemy zapytać tabele po operacji scalania jako:
Wybierz * z produktów_source;Powstałe wartości są jak pokazano w poniższym przykładzie:
Jak zauważysz, rekordy tabeli źródłowej i docelowej są zsynchronizowane z wartościami zaktualizowanymi, wstawionymi i usuwanymi.
Wniosek
Ten przewodnik pokazuje, jak pracować z instrukcją scalania SQL Server. Pozwala na wykonywanie operacji wstawki, aktualizacji i usuwania w tabelach w oparciu o wynikowe warunki.
Dziękuję za przeczytanie!