SQL Server’da Faktöriyel Hesabını Rekürsif Hesaplayan Fonksiyon
Herkese merhaba,
SQL Server’ı hem daha iyi öğrenmek hem de öğrendiklerinizi uygulamak adına bu şekilde örnekler yapacağım.
İlk önce faktöriyel nedir ona değinelim.
1’den başlayarak belirli bir sayma sayısına kadar olan sayıların çarpımına o sayının faktöriyeli denir.
Örneğin 5’in faktöriyel (5! ile gösterilir) : 120 =5 * 4 * 3 * 2 * 1’dir.
Rekürsif nedir?
Bir yapı eğer kendine gönderme yapma özelliğine sahipse böyle yapılara rekürsif yapılar denir.
Şimdi kod örneğine geçelim.
CREATE FUNCTION dbo.Faktoriyel
(
@Sayi INT
)
RETURNS INT
AS
BEGIN
DECLARE @sonuc INT;
IF @Sayi <= 1
SET @sonuc = 1;
ELSE
SET @sonuc = @Sayi * dbo.Faktoriyel(@Sayi - 1);
RETURN (@sonuc);
END;
--Çalıştırılması
SELECT dbo.Faktoriyel(5) AS Sonuc;
Yukarıdaki fonksiyonu oluşturup kodu çalıştırdığınızda aşağıdakine benzer bir sonuç göreceksiniz.
Görüldüğü üzere faktöriyel hesabını rekürsif olarak hesaplamış olduk.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.