Blog JSystems - uwalniamy wiedzę!

Szukaj

Zmienne w T-SQL, w skrócie

Deklaracja i użycie zmiennej:

DECLARE @licznik INT;
SET @licznik = 10;
SELECT @licznik AS Wartosc;

Zanim zaczniemy pisać nasze procedury, funkcje czy wyzwalacze przyda nam się garstka podstaw, jak np. czym jest zmienna, jak podejrzeć jej zawartość, czym jest magiczne, bardzo często spotykane w T-SQL słowo GO.

Batch czyli czym jest magiczne słowo GO?

Batch, zwany również niekiedy wsadem jest to kolekcja jednego lub większej ilości poleceń T-SQL wysyłanych do SQL Server jako jednostka do parsowania, optymalizacji wykonania. Błędy składniowe w poleceniach umieszczonych w jednym batchu powodują, że cała jednostka może zostać odrzucona.

Batche, pomiędzy sobą, rozdzielane są wyrażeniem GO (domyślnie, w ustawieniach możemy zmienić to słowo na inne).

Batch czyli czym jest magiczne słowo GO: Programowanie w T-SQL

Niektóre polecenia jak np. CREATE TABLE czy CREATE VIEW muszą (powinny, bo przecież możemy zaznaczyć i wykonać tylko kawałem naszego kodu) być umieszczone w osobnym batchu.

Batch czyli czym jest magiczne słowo GO: Programowanie w T-SQL (2)

Zmienne

Zmienne są obiektami w których możemy przechowywać wartości. Definiujemy je za pomocą polecenia DECLARE.

Zmienne: Programowanie w T-SQL

Opcjonalnie przy deklaracji zmiennych możemy użyć słówka AS (tak jak przy aliasowaniu kolumn czy tabel w zapytaniach) .

Zmienne: Programowanie w T-SQL (2)

Wartości do zmiennych możemy przypisać już na etapie ich deklaracji

Zmienne: Programowanie w T-SQL (3)

lub później za pomocą polecenia SET

Zmienne: Programowanie w T-SQL (4)

lub SELECT:

Zmienne: Programowanie w T-SQL (5)

Zaletą stosowania polecenia SELECT jest to, że naraz możemy przypisać wartości do kilku zmiennych, gdzie przy poleceniu SET możemy to zrobić tylko dla jednej zmiennej.

Zmienne: Programowanie w T-SQL (6)

Print

Aby podejrzeć zawartość zmiennej, można skorzystać z polecenia SELECT

Print: Programowanie w T-SQL

lub skorzystać z dedykowanego ku temu narzędzia, jakim jest polecenie PRINT (tak zwana konsola). Wynik wtedy zostanie zwrócony w zakładce messages

Print: Programowanie w T-SQL (2)

Baner szkolenia Kompleksowe SQL w Microsoft SQL Server w JSystems, terminy gwarantowane

Szkolenie Kompleksowe SQL w Microsoft SQL Server →

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Czym jest słowo GO w T-SQL?
GO oddziela od siebie wsady, czyli batche, wysyłane do SQL Server jako jedna jednostka do sparsowania i wykonania. Nie jest to polecenie samego języka T-SQL, lecz separator rozpoznawany przez narzędzia klienckie. W ustawieniach można zmienić to słowo na inne.
Jak zadeklarować zmienną w T-SQL?
Zmienną definiujesz poleceniem DECLARE, opcjonalnie ze słówkiem AS, podając nazwę zaczynającą się od znaku małpy i typ danych. Wartość możesz przypisać już przy deklaracji albo później, poleceniem SET lub SELECT.
Czym różni się przypisanie zmiennej przez SET od SELECT?
Poleceniem SET przypiszesz wartość tylko do jednej zmiennej naraz. SELECT pozwala natomiast przypisać wartości do kilku zmiennych jednocześnie w jednym poleceniu, co bywa wygodniejsze przy pobieraniu wielu wartości z zapytania.
Dlaczego niektóre polecenia muszą być w osobnym wsadzie?
Polecenia takie jak CREATE TABLE czy CREATE VIEW powinny znajdować się w osobnym batchu. Wsad jest przetwarzany jako całość, a błąd składniowy w jednym poleceniu może spowodować odrzucenie całej jednostki, dlatego rozdziela się je słowem GO.
Jak podejrzeć zawartość zmiennej w T-SQL?
Zawartość zmiennej wyświetlisz poleceniem SELECT albo dedykowanym poleceniem PRINT, pełniącym rolę konsoli. Wynik PRINT pojawia się w zakładce z komunikatami, a nie w wynikach zapytania.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...