Funkcje: Zmienne lokalne w SQL cz. I

SQL jak prawie każdy język programowania pozwala na tworzenie funkcji, a co za tym idzie również zmiennych przechowujących dane.

Fot: Kate Ter Haar, CC BY 2.0
Fot: Kate Ter Haar, CC BY 2.0

Implementacja zmiennych w kwerendzie SQL’a nie jest zbyt trudna ale należ pamiętać o kilku zasadach:

  • Po pierwsze długość nazwy takiej zmiennej nie może przekraczać 128 znaków, oczywiście nie jest dopuszczalne jest wykorzystywanie znaków specjalnych, polskich liter itp.,
  • Zmienne lokalne oznaczamy znakiem @ poprzedzając nim nazwę nowo utworzonego obiektu (przykład: @jestemZmiennaLokalna),
  • Zmienne lokalne deklarujemy słowem kluczowym DECLARE, a po nazwie podajemy typ danych (przykład: DECLARE @zadeklarowanaZmienna VARCHAR(50)),
  • Wartości przypisujemy poprzedzając zmienną słowem kluczowym SET (przykład: SET @zadeklarowanZmienna = 'Cześć'),
  • Możliwa jest również deklaracja i inicjalizacja zmiennej równocześnie.

UWAGA: Omawiany materiał działa na bazach danych firmy Microsoft.

Typy danych

Kilka najważniejszych typów danych jakie mogą przyjmować zmienne:

TypOpis
VARCHAR(rozmiar)Przyjmuje tekst, w nawiasach podaje się liczbę znaków
CHARZnaki tekstowe
SYSNAMEPrzyjmuje nazwę np. kolumny
INTLiczby całkowite
FLOATLiczby rzeczywiste

Tabela klienci na której będziemy uruchamiać przykładowe kwerendy:

IDImieNazwiskoMiasto
1JanKowalskiWarszawa
2MichałŁagodaKraków
3MarcinKulczykKraków
4RadosławSikorskiKraków
5MonikaKopaczGdańsk
6PiotrGrabiecToruń
7EwaPogodnaBydgoszcz
8SebastianSzybkiWarszawa

Przykład

Weźmy proste zapytanie typu:

Otrzymamy oczywiście jeden rekord:

imienazwisko
SebastianSzybki

Teraz do powyższego przykładu dodajmy zmienną lokalną o nazwie imie:

Oczywiście i tym razem otrzymamy identyczny wynik.

Podsumowanie

Zmienne w SQL można używać w instrukcji warunkowej, pętli, instrukcji CASE itd.

Przeczytaj również

, , , , , ,