Program szkolenia:
Programowanie w języku T-SQL
Szkolenie: Programowanie w języku T-SQL przeznaczone jest dla programistów i analityków danych posiadających podstawową znajomość SQL, którzy chcą efektywnie tworzyć zaawansowany kod T-SQL w środowisku Microsoft SQL Server. Program koncentruje się na elementach programistycznych języka: procedurach składowanych, funkcjach, wyzwalaczach, obsłudze błędów i transakcjach, a także na specjalnych funkcjach i technikach transformacji danych.
Zaawansowane funkcje wbudowane.
- Funkcje tekstowe: PATINDEX, STUFF, REVERSE, SUBSTRING, CHARINDEX, REPLICATE
- Funkcje matematyczne: RAND, FLOOR, CEILING, ROUND
- Funkcje daty: DATEDIFF, DATENAME, DATEADD, ISDATE
- Weryfikacja typów: ISNUMERIC, DATALENGTH, LEN
- Wyrażenia regularne w LIKE: zakresy [a-c], negacja [^], znaki specjalne
Specjalne funkcje i logikaa warunkowa
- NULLIF – zwracanie NULL przy równości
- COALESCE – pierwsza wartość nie-NULL
- ISNULL – co zamiast: NULL CASE WHEN … THEN … ELSE … END (proste i wyszukiwane)
- Ćwiczenia: zastępowanie braków
- Warunki wielopoziomowe
- Ćwiczenia
CTE – Common Table Expressions. Jak i gdzie stosować.
- Składnia WITH … AS (…)
- Zakres widoczności CTE
- Wielokrotne odwołania do CTE w jednym zapytaniu
- Rekurencyjne CTE: zapytanie zakotwiczające + UNION ALL
- Praktyczny przykład: hierarchia pracowników
- Opcja MAXRECURSION
- Ćwiczenia
Zmienne, bloki anonimowe, sterowanie przepływem.
- DECLARE, SET, SELECT – przypisanie pojedyncze i masowe
- Bloki BEGIN…END IF / ELSE IF / ELSE
- Pętla WHILE z licznikiem i warunkiem wyjścia
- Zmienne tablicowe: DECLARE @t TABLE (…)
- Funkcja STRING_SPLIT i symulacja tablicy indeksowanej
- Ćwiczenia: kalkulator wartości zamówień, losowanie liczby
- Praktyczne zastosowanie funkcji wbudowanych
- Dobre praktyki.
- Ćwiczenia.
Funkcje użytkownika (UDF).
- Różnice: funkcja vs procedura (tabela porównawcza)
- Funkcje skalarne: CREATE FUNCTION … RETURNS int/varchar … RETURN Parametry wejściowe
- Funkcje tabelaryczne proste (inline): RETURNS TABLE AS RETURN (…)
- Funkcje tabelaryczne wielokrokowe (multi-statement) Wywoływanie UDF w SELECT, WHERE, JOIN ALTER / DROP FUNCTION
- Ćwiczenia: liczba dni roboczych, filtr produktów wg kategorii, raport sprzedaży w przedziale dat.
- Ćwiczenia.
Procedury składowane.
- CREATE / ALTER / DROP PROCEDURE
- Parametry IN (domyślne wartości NULL)
- Parametry OUT (OUTPUT)
- Walidacja danych wejściowych: IF / RAISERROR
- Zwracanie kodów błędów (RETURN) EXEC z parametrami pozycyjnymi i nazwanymi
- SET NOCOUNT ON – optymalizacja
- Ćwiczenia: Dodaj Pracownika z walidacją, Raport z filtrem, Podnieś Cenę Produktu ( z warunkami)
- Dobre praktyki
Wyzwalacze (Triggers).
- Typy wyzwalaczy: AFTER (FOR) INSERT / UPDATE / DELETE, INSTEAD OF
- Tabele wirtualne
- Wyzwalacz logujący zdarzenia (CustomLog → LogSummary)
- Wyzwalacz audytowy: przechwytywanie zmian DML Triggers vs DDL Triggers – krótkie porównanie
- Wyłączanie / włączanie wyzwalaczy: DISABLE / ENABLE TRIGGER Ćwiczenia: trigger rejestrujący zmiany cen, trigger blokujący usuwanie.
- Operator EXISTS, ANY, ALL
- Ćwiczenia i praktyczne wykorzystanie wyzwalaczy.
Obsługa błędów.
- BEGIN TRY … END TRY / BEGIN CATCH … END CATCH
- Funkcje diagnostyczne: ERROR_NUMBER, ERROR_MESSAGE, ERROR_LINE, ERROR_SEVERITY, ERROR_STATE, ERROR_PROCEDURE RAISERROR
- zgłaszanie własnych błędów (severity, state) THROW (SQL Server 2012+) vs RAISERROR
- @@ERROR – zmienna systemowa
- Ćwiczenia: bloki TRY-CATCH z diagnostyką
Transakcje i obsługa błędów w transakcjach
- BEGIN TRANSACTION / COMMIT / ROLLBACK @@TRANCOUNT – licznik zagnieżdżonych transakcji
- TRY-CATCH z transakcją: wzorzec rollback przy błędzie SAVEPOINT (SAVE TRANSACTION)
- Zasada ACID – krótkie przypomnienie w kontekście T-SQL Ćwiczenia: procedura Podnieś Ceny z transakcją i rollback
Efekty szkolenia.
Po szkoleniu uczestnik będzie umiał:
• Pisać złożone zapytania T-SQL z użyciem funkcji tekstowych, matematycznych i daty (PATINDEX, STUFF, DATEDIFF, FLOOR i innych)
• Stosować specjalne funkcje obsługi wartości NULL: COALESCE, NULLIF, ISNULL oraz wyrażenia CASE w zapytaniach i logice biznesowej
• Tworzyć wspólne wyrażenia tablicowe (CTE), w tym rekurencyjne CTE do pracy z hierarchicznymi strukturami danych
• Deklarować zmienne, pisać bloki anonimowe z warunkami IF/ELSE i pętlami WHILE oraz korzystać ze zmiennych tablicowych
• Projektować i wywoływać funkcje użytkownika (UDF): skalarne oraz tabelaryczne proste i wielokrokowe
• Tworzyć i modyfikować procedury składowane z parametrami wejściowymi, domyślnymi wartościami i walidacją danych za pomocą RAISERROR
• Implementować wyzwalacze DML (AFTER INSERT/UPDATE/DELETE, INSTEAD OF) z dostępem do tabel INSERTED i DELETED
• Profesjonalnie obsługiwać błędy w T-SQL za pomocą bloków TRY-CATCH oraz funkcji ERROR_MESSAGE, ERROR_LINE, ERROR_NUMBER i THROW
• Zarządzać transakcjami: otwierać, zatwierdzać i wycofywać transakcje z użyciem wzorca rollback przy błędzie i zmiennej @@TRANCOUNT
• Stosować specjalne funkcje obsługi wartości NULL: COALESCE, NULLIF, ISNULL oraz wyrażenia CASE w zapytaniach i logice biznesowej
• Tworzyć wspólne wyrażenia tablicowe (CTE), w tym rekurencyjne CTE do pracy z hierarchicznymi strukturami danych
• Deklarować zmienne, pisać bloki anonimowe z warunkami IF/ELSE i pętlami WHILE oraz korzystać ze zmiennych tablicowych
• Projektować i wywoływać funkcje użytkownika (UDF): skalarne oraz tabelaryczne proste i wielokrokowe
• Tworzyć i modyfikować procedury składowane z parametrami wejściowymi, domyślnymi wartościami i walidacją danych za pomocą RAISERROR
• Implementować wyzwalacze DML (AFTER INSERT/UPDATE/DELETE, INSTEAD OF) z dostępem do tabel INSERTED i DELETED
• Profesjonalnie obsługiwać błędy w T-SQL za pomocą bloków TRY-CATCH oraz funkcji ERROR_MESSAGE, ERROR_LINE, ERROR_NUMBER i THROW
• Zarządzać transakcjami: otwierać, zatwierdzać i wycofywać transakcje z użyciem wzorca rollback przy błędzie i zmiennej @@TRANCOUNT
Szkolenie trwa 16 godzin (2 dni szkoleniowe).
Cena: 1900 PLN netto od osoby.
Grupy powyżej 4 osób – cena ustalana indywidualnie
UWAGI:
- Możliwe szkolenie dla jednej osoby.
- Cena zawiera:
– podręcznik związany z tematyką szkolenia,
-materiały szkoleniowe i ćwiczenia,
– 3 – miesięczne wsparcie trenera po zakończeniu szkolenia
– certyfikat ukończenia szkolenia.
– indywidualne środowisko laboratoryjne
-konsultacja trenera na warsztatach.
