MSSQL Dersleri #18: Kullanıcı Tanımlı Fonksiyonlar (UDF)

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.

💡 Kıdemli DBA Triki: Fonksiyonlar, kodun yeniden kullanılabilirliğini ve bakımını kolaylaştırır. Ayrıca, performans iyileştirmeleri için de kullanılabilir.

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.

⚠️ Canlı Ortam Uyarısı: Fonksiyonların canlı ortamda kullanılması sırasında dikkatli olunmalıdır. Fonksiyonların performansını etkileyebilirler ve bu da veritabanının performansını düşürebilir.

Umarım bu makale, kullanıcı tanımlı fonksiyonlar hakkında daha fazla bilgi edinmenize yardımcı olmuştur. İyi çalışmalar!

NasuhAkay
NasuhAkay

Nasuh Akay, 20 yılı aşkın IT deneyimine sahip; kurumsal teknoloji çözümleri, ERP sistemleri, yazılım geliştirme, veri yönetimi ve dijital dönüşüm alanlarında çalışmalar yürüten bir teknoloji profesyonelidir.

Kariyeri boyunca farklı sektörlerde edindiği deneyimlerini; teknoloji, yazılım, veri mimarisi ve iş süreçlerinin geliştirilmesi üzerine yoğunlaştırmıştır.

Bu blogda ERP çözümleri, SQL Server, yazılım geliştirme, yapay zekâ, dijital dönüşüm ve teknoloji dünyasındaki gelişmeler üzerine bilgi, deneyim ve teknik paylaşımlarını okuyucularla buluşturmaktadır.

Amacı, karmaşık teknik konuları anlaşılır bir dille ele almak, gerçek hayatta karşılaşılan problemlere yönelik uygulanabilir çözümler sunmak ve teknoloji alanındaki bilgi birikimini paylaşmaktır.

Articles: 755

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir