17 Ocak 2017 Salı

Kullanıcı Tanımlı Fonksiyonlar


Kullanıcı tanımlı fonksiyonlar SQL Server 2000 ile gelen özelliklerden biridir.  Bu yapılar standart programlama dillerindeki fonksiyon mantığı ile aynıdır.
Fonksiyonlar belli bir sonucu geri döndürmek için tasarlanmış bir veya birden fazla yerde kullanılan yapılardır.
Kullanıcı tanımlı fonksiyonlar, tıpkı Stored Procedure’ler gibi dışarıdan parametre alabilirler.
Aynı zamanda IF…ELSE gibi T-SQL’in diğer ifadelerinin de kullanılmasına imkan tanırlar.
Kullanıcı tanımlı fonksiyonlar,  SP’ ler gibi derlendikten sonra tampon bir belleğe atanır ve daha sonra bu tampon bellekten çağrılarak kullanılabilirler.
Bir diğer özelliği de view (görünüm)’lar gibi bir tablo şeklinde kayıt döndürebilirler.

Bu fonksiyonları, View ve SP’lerden ayıran ve özellikle kullanılması gereken durumlar şöyledir:
Dışarıdan parametre alan view tanımlanamamaktadır. Fakat      böyle bir durum fonksiyonlarda kullanılabilmektedir.
SP’ler bir sorgunun parçası olarak birkaç durum dışında çalışmazken fonksiyonlar sorguların içerisinde kullanılabilirler.
Örneğin sp_helpdb, sp_helptext gibi prosedürler tek başlarına çalıştırılabilirler, fakat bir sorgunun parçası olarak çalıştırılamazlar.