Nie taki znów zwykły SQL Server cz. 3 – Merge czyli po prostu UPSERT

Merge, upsert – o co chodzi ?

Merge ? Nigdy tego nie używałem, z tego w ogóle się korzysta ?! Mniej więcej, taka moja była pierwsza reakcja, kiedy napotkałem kod zawierający składnię owego wyrażenia. Otóż używa się i ma wiele zastosowań, gdyż potrafi czasem zastąpić aż trzy różne operacje INSERT, UPDATE, DELETE. Czy istnieje jakieś konkretny uniwersalny przypadek użycia dla MERGE ? Szczerze mówiąc ciężko mi takowy przytoczyć. Podobnie jak w przypadku wcześniej opisywanego WITH potrafi ułatwić rozwiązywanie pewnej klasy problemów, bez angażowania rozbudowanej procedury T-SQL lub języków programowania.

Składnia wyrażenia jest dość skomplikowana na pierwszy rzut oka, jednak po parokrotnym użyciu można szybko poczuć co można uzyskać korzystając z niego, a co jest niemożliwe. Najlepiej zresztą poczuć moc na przykładzie.

Czytaj dalej Nie taki znów zwykły SQL Server cz. 3 – Merge czyli po prostu UPSERT

Nie taki znowu zwykły SQL Server cz. 2 – CTE w modelach hierarchicznych cd.

Nadszedł czas na kontynuację naszej przygody z CTE. W poprzednim odcinku pokazałem jak bardzo wspólne wyrażenia tablicowe zbliżone są do podzapytań oraz jak można z nich korzystać. Wspomniałem też na samym początku, że pozwalają na obsługę modeli hierarchicznych z poziomu języka SQL, zatem postaram się nieco przybliżyć to zagadnienie.

Czym w ogóle jest model hierarchiczny ?

Czytaj dalej Nie taki znowu zwykły SQL Server cz. 2 – CTE w modelach hierarchicznych cd.

Nie taki znowu zwykły SQL Server cz. 1 – słów kilka o CTE

Niniejszym artykułem chciałbym rozpocząć cykl poświęcony przydatnym, ale rzadziej wykorzystywanym elementom języka SQL jak i samego MS SQL Server’a. Podstawowe operacje CRUD wykonujemy bez większych trudności już po krótkim szkoleniu, jednak niejednokrotnie brakuje narzędzia upraszczającego życie oraz lepiej pasującego do aktualnych okoliczności.

Czytaj dalej Nie taki znowu zwykły SQL Server cz. 1 – słów kilka o CTE