Kullanıcı Tanımlı Fonksiyonlar (UDF): Skaler ve Tablo Değerli (TVF) Fonksiyonlar
Microsoft SQL Server’da kullanıcı tanımlı fonksiyonlar (UDF), veritabanı geliştiricilerinin ve yöneticilerinin işlevselliklerini genişletmesine olanak tanır. Bu makalede, skaler ve tablo değerli (TVF) fonksiyonlar hakkında detaylı bilgi vereceğiz.
Skaler Fonksiyonlar
Skaler fonksiyonlar tek bir değer döndürür. Bu fonksiyonlar genellikle basit hesaplamalar veya tek bir değer döndüren işlemler için kullanılır.
-- Skaler fonksiyon örneği
CREATE FUNCTION dbo.GetEmployeeName (@EmployeeID INT)
RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @EmployeeName VARCHAR(100);
SELECT @EmployeeName = FirstName + ' ' + LastName
FROM Employees
WHERE EmployeeID = @EmployeeID;
RETURN @EmployeeName;
END;
Code language: SQL (Structured Query Language) (sql)
Yukarıdaki örnekte, GetEmployeeName adlı bir skaler fonksiyon oluşturulmuştur. Bu fonksiyon, verilen bir EmployeeID ile çalışanın adını döndürür.
Tablo Değerli Fonksiyonlar (TVF)
Tablo değerli fonksiyonlar, bir tablo değerini döndürür. Bu fonksiyonlar genellikle karmaşık sorgular veya birden fazla satır döndüren işlemler için kullanılır.
-- Tablo değerli fonksiyon örneği
CREATE FUNCTION dbo.GetEmployeeDetails (@DepartmentID INT)
RETURNS TABLE
AS
RETURN
(
SELECT EmployeeID, FirstName, LastName, Salary
FROM Employees
WHERE DepartmentID = @DepartmentID
);
Code language: SQL (Structured Query Language) (sql)
Yukarıdaki örnekte, GetEmployeeDetails adlı bir tablo değerli fonksiyon oluşturulmuştur. Bu fonksiyon, verilen bir DepartmentID ile çalışanların detaylarını döndürür.
Uyarılar
Fonksiyonların kullanılması sırasında bazı riskler de bulunmaktadır. Örneğin, fonksiyonların performansını etkileyebilirler. Bu nedenle, fonksiyonların kullanılması sırasında performans testleri yapılmalıdır.
Umarım bu makale, kullanıcı tanımlı fonksiyonlar hakkında daha fazla bilgi edinmenize yardımcı olmuştur. İyi çalışmalar!





