HIK Elektronikus Felsőoktatási Tankönyv- és Szakkönyvtár
A Kempelen Farkas Felsőoktatási Digitális Tankönyvtár/vagy más megjelenítő által közvetített digitális tartalmat a felhasználó a szerzői jogról szóló 1999. évi LXXVI. tv. 33. paragrafus (4) bekezdésében meghatározott oktatási, illetve tudományos kutatási célra használhatja fel. A felhasználó a digitális tartalmat képernyőn megjelenítheti, letöltheti, arról elektronikus adathordozóra vagy papíralapon másolatot készíthet, adatrögzítő rendszerében tárolhatja. A Kempelen Farkas Felsőoktatási Digitális Tankönyvtár/vagy más megjelenítő weblapján található digitális tartalmak üzletszerû felhasználása tilos, valamint kizárt a digitális tartalom módosítása és átdolgozása, illetve az ilyen módon keletkezett származékos anyag további felhasználása.

18.7.2. Felhasználói függvények létrehozása

Az SQL Serverben saját, úgynevezett felhasználói függvényeket is készíthetünk. Egy ilyen függvénnyel kiszámíthatunk például egy kedvezményes árat az eredeti ár és egy szorzó alapján. A felhasználói függvények létrehozására a CREATE FUNCTION utasítás szolgál, és három fajtájuk van:

Skalárfüggvények A skalárfüggvények egyetlen értéket adnak vissza, ami bármilyen típusú lehet, kivéve a text, ntext, image, cursor, table és timestamp típusokat, illetve a felhasználói adattípusokat.

Helyben kifejtett táblaértékű függvények A helyben kifejtett (inline) táblaértékű függvények table típusú objektumokat adnak vissza. A table objektumok olyanok, mint egy szabályos adatbázistábla, csak a memóriában tárolódnak. A helyben kifejtett táblaértékű függvények egyetlen SELECT utasítással kinyert adatokat adnak vissza.

Többutasításos táblaértékű függvények A többutasításos táblaértékű függvények is table típusú objektumokat adnak vissza, de a helyben kifejtet táblaértékű függvényektől eltérően több T-SQL utasítást tartalmazhatnak.

Példa egy skalárfüggvényre:

-- A DiscountPrice kiszámítja egy termék új árát az eredeti ár és a leértékelési szorzó alapján

CREATE FUNCTION DiscountPrice (@OriginalPrice money, @Discount float)

RETURNS money

AS

BEGIN

RETURN @OriginalPrice * @Discount

END

Ha létrehoztuk a függvényt, meghívhatjuk. A skalárfüggvények meghívása a következő:

tulajdonos.függvénynév

Itt a tulajdonos a függvényt létrehozó adatbázis-felhasználó neve, a függvénynév pedig a függvény neve.