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

Funkcje: Funkcje tablicowe w SQL cz. III

Funkcje tablicowe definiowane przez programistę charakteryzują się między innymi tym, że zwracają one określone dane (na przykład tabelę) i głównie wykorzystywane są w zwykłych kwerendach po klauzuli FROM. Można więc z nich korzystać bardzo podobnie jak z widoków. Funkcje tablicowe to pewnego rodzaju procedury składowane, które działają mniej więcej na tych samych zasadach.

Pisząc funkcje tablicowe w SQL nie definiujemy boku BEGIN - END, a jedyne co musimy zrobić to napisać zapytanie i zwrócić odpowiednie dane. Oczywiście mogą to być informacje odpowiednio spersonalizowane na podstawie odczytanych jako argumenty pewnych danych.

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

Tabela pracownicy, na której uruchomimy przykładowe zapytanie:

IDImieNazwiskoData_urodzeniaStanowiskoData_zatrudnienia
1JanKowalski1984-12-23Programista1999-12-09
2AdamAdamiak1991-08-08Menadżer2011-01-31
3JakubKowalik1990-03-16Programista2010-01-04
4MichałJakubiak1981-05-02Projektant1998-09-22

Przykład

No to tyle z teorii, czas zabrać się za praktykę. Napiszmy więc funkcję tablicową, która na podstawie przekazanego jako argument nazwy stanowiska zwróci nam tabelę z pracownikami zajmującymi dane stanowisko.

GO
CREATE FUNCTION FN_pracownicy (@stanowisko AS VARCHAR(200))
RETURNS TABLE
AS
RETURN
	SELECT imie, nazwisko FROM pracownicy WHERE stanowisko = @stanowisko;
GO

Po uruchomieniu tego zapytania dostaniemy informację, że funkcja została zapisana na serwerze. Aby z niej skorzystać należy uruchomić poniższy kod:

SELECT * FROM FN_pracownicy('Programista');

Rezultat:

imienazwisko
JanKowalski
JakubKowalik

O tym jak skasować stworzoną wyżej funkcję, możecie przeczytać w poprzedniej części tego artykułu: Funkcje: Tworzenie funkcji – funkcje skalarne w SQL cz. II.

Modyfikacja funkcji

Przypuśćmy, że nasza funkcja zapisana na serwerze SQL zawiera błąd. Co więc w takiej sytuacji zrobić? Możemy ją oczywiście skasować i napisać od nowa, ale jeśli nie mamy jej kodu? W Microsoft SQL Management Studio aby dostać się do zapisanych funkcji wystarczy wykonać następujące kroki:

  1. Przechodzimy do bocznego okna o nazwie „Object Explorer” następnie z rozwijanej listy wybieramy „Databases”, odszukujemy nazwę naszej bazy danych w moim przypadku jest to „kurs”, następnie folder „Programmability”, folder „Functions”, folder „Table-valued Functions” (tutaj przechowywane są właśnie funkcje tablicowe) oraz odnajdujemy na liście naszą funkcję.
  2. Klikamy prawym przyciskiem myszy na nazwie funkcji, którą chcemy zmodyfikować i z menu kontekstowego wybieramy opcję „Modify”:
    modykikowanie-funkcji

  3. Po wykonaniu powyższych czynności otworzy nam się kod funkcji, który możemy dowolnie zmodyfikować, a po zakończeniu prac wystarczy po prostu wcisnąć przycisk „Execute”:
    modykikowanie-funkcji-2

  4. Funkcja została zmodyfikowana.

     

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

Odpowiedz

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

Pin It on Pinterest