Funkcje: Zmienne lokalne w SQL cz. I

SQL jak prawie każdy język programowania pozwala również na tworzenie funkcji, a co za tym idzie również zmiennych przechowujących jakieś 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 dopuszczalne jest używanie tutaj znaków specjalnych, polskich liter itd.,
  • 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)),
  • Natomiast 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:

Typ Opis
VARCHAR(rozmiar) Przyjmuje tekst, w nawiasach podaje się liczbę znaków
CHAR Znaki tekstowe
SYSNAME Przyjmuje nazwę np. kolumny
INT Liczby całkowite
FLOAT Liczby rzeczywiste

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

ID Imie Nazwisko Miasto
1 Jan Kowalski Warszawa
2 Michał Łagoda Kraków
3 Marcin Kulczyk Kraków
4 Radosław Sikorski Kraków
5 Monika Kopacz Gdańsk
6 Piotr Grabiec Toruń
7 Ewa Pogodna Bydgoszcz
8 Sebastian Szybki Warszawa

Przykład

Weźmy proste zapytanie typu:

Otrzymamy oczywiście jeden rekord:

imie nazwisko
Sebastian Szybki

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.

, , , , , ,