Szkolenie: Programowanie w języku T-SQL.

 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
 

 

 

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.
Zbiór zadań SQL Serwer
Przewijanie do góry