Herkese merhaba,

Bu bölümde SQL Server’da faktöriyel hesabını rekürsif hesaplayan bir prosedür örneği 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 PROCEDURE FaktoriyelHesapla
(
    @Sayi INTEGER,
    @Sonuc INTEGER OUTPUT
)
AS
DECLARE @Giris INTEGER;
DECLARE @Cikis INTEGER;
IF @Sayi != 1
BEGIN
    SELECT @Giris = @Sayi - 1;
    EXEC FaktoriyelHesapla @Giris, @Cikis OUTPUT;
    SELECT @Sonuc = @Sayi * @Cikis;
END;
ELSE
BEGIN
    SELECT @Sonuc = 1;
END;
RETURN; 

--Çalıştırılması 

DECLARE @Sonuc INTEGER;
EXEC FaktoriyelHesapla @Sayi = 5,              -- integer 
                       @Sonuc = @Sonuc OUTPUT; -- integer 
PRINT @Sonuc;

Yukarıdaki prosedürü oluşturup çalıştırdığınızda aşağıdakine benzer bir sonuç göreceksiniz.

SQL Server’da Faktöriyel Hesabını Rekürsif Hesaplayan Prosedür

Görüldüğü üzere rekürsif olarak faktöriyel hesabını yapmış olduk.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

612 Kez Okundu

Kategoriler: