| Czas trwania | 16 godzin (2 dni szkoleniowe) |
| Cena | 2250 PLN netto / osoba |
| Forma | Stacjonarnie lub online |
| Poziom | Zaawansowany (wymaga podstaw SQL) |
| W cenie | Podręcznik, materiały i ćwiczenia, indywidualne środowisko laboratoryjne, certyfikat, 3 miesiące wsparcia trenera |
Grupy powyżej 3 osób – cena ustalana indywidualnie. Możliwe szkolenie dla jednej osoby.
Dla kogo jest to szkolenie?
Szkolenie jest przeznaczone dla osób, które znają podstawy SQL i chcą tworzyć zaawansowany kod proceduralny w Microsoft SQL Server:
- programistów i deweloperów baz danych,
- analityków danych automatyzujących przetwarzanie,
- administratorów baz danych (DBA),
- osób utrzymujących lub rozwijających systemy oparte na SQL Server.
Szkolenie „Programowanie w języku T-SQL” jest skierowane do programistów i analityków danych, którzy znają podstawy SQL i chcą rozwinąć umiejętności w zakresie zaawansowanego programowania w środowisku Microsoft SQL Server. W odróżnieniu od kursów skupionych wyłącznie na zapytaniach, ten program koncentruje się na warstwie programistycznej języka — czyli na tym, co pozwala zautomatyzować pracę z danymi i zamknąć logikę biznesową bezpośrednio w bazie.
Uczestnicy nauczą się tworzyć procedury składowane i funkcje użytkownika, budować wyzwalacze reagujące na zmiany w danych, profesjonalnie obsługiwać błędy za pomocą bloków TRY-CATCH oraz bezpiecznie zarządzać transakcjami zgodnie z zasadą ACID. Program obejmuje także specjalne funkcje języka, pracę z wartościami NULL, wspólne wyrażenia tablicowe (CTE) oraz techniki transformacji i przetwarzania danych.
Szkolenie T-SQL ma charakter w pełni warsztatowy — każdy moduł kończy się zestawem praktycznych ćwiczeń opartych na rzeczywistych przypadkach. Dzięki temu po jego ukończeniu potrafisz samodzielnie projektować, wdrażać i utrzymywać wydajny, niezawodny kod T-SQL w środowisku produkcyjnym.
Program szkolenia:
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 logika 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.
- Ć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ł:
• 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: 2250 PLN netto od osoby.
Grupy powyżej 3 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.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
