T-SQL – Definiowanie własnych funkcji

Dzisiejsze RDBMS w wiekszosci pozwalaja na definiowanie sowich wlasnych funkcji, w przypadku SQL Server mamy do dyspozycji rozszerzenie SQL nazywane Transact SQL (T-SQL). Aby w TSQL utworzyć funkcję potrzebujemy poniższy kod:

CREATE FUNCTION [dbo].nazwa_funkcji
(
@argument varchar(255) --nazwy argumentów po przecinku
)
RETURNS int -- co zwraca funkcja (tutaj typ int)
AS
BEGIN
-- ciało - czyli to co ma się wydarzyć
Return 0; -- tutaj funkcja zawsze zwróci 0.
End

Jeśli już mamy zdefiniowaną funkcję o takiej nazwie, możemy wtedy słowo create zastąpić alter, Spowoduje to zastąpienie funkcji nowszą definicją.

Funkcje z założenia przyjmują argumenty i zwracają wartości. Weźmy pod uwagę funkcję cosinus(cos(x))
przyjmuje parametr x- liczbę rzeczywistą, zwraca wartość również w postaci liczby rzeczywistej. Podobnie jest w T-SQL.

CREATE FUNCTION [dbo].moja_suma
(
@a int,
@b int

)
RETURNS int
AS
BEGIN
Return @a+@b;
End

By skorzystać z tak zdefiniowanej funkcji należy:

select dbo.moja_suma(1,2);

Oczywiście możemy tej funkcji użyć w dowolnej operacji DML.
W funkcjach możemy do zmiennej pobierać wartości z innych tabel.

2 Replies to “T-SQL – Definiowanie własnych funkcji”

Leave a Reply

Your email address will not be published. Required fields are marked *

19 − 11 =