SQL Server’da Faktöriyel Hesabını Rekürsif Hesaplayan Prosedür
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.
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.