Informacje o nowych artykułach oraz akcjach edukacyjnych prosto na Twojej skrzynce e-mail!

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.

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

  • Długość nazwy zmiennej nie może przekraczać 128 znaków,
  • Nie jest dopuszczalne wykorzystywanie znaków specjalnych np. polskich liter,
  • 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 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:

SELECT imie, nazwisko FROM klienci WHERE imie = 'Sebastian';

Otrzymamy jeden rekord:

imienazwisko
SebastianSzybki

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

DECLARE @imie VARCHAR(200);
SET @imie = 'Sebastian';
Select imie, nazwisko FROM klienci WHERE imie = @imie;

I tym razem otrzymamy identyczny wynik.

Podsumowanie

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

Spodobało się?

Jeśli tak, to zarejestruj się do newslettera aby otrzymywać informacje nowych artykułach oraz akcjach edukacyjnych. Gwarantuję 100% satysfakcji i żadnego spamowania!

, , , , , ,

Dodaj komentarz

Komentarze (6)

Odpowiedz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Pin It on Pinterest