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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
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; GO --Çalıştırılması DECLARE @Sonuc INTEGER; EXEC FaktoriyelHesapla @Sayi = 5, -- integer @Sonuc = @Sonuc OUTPUT; -- integer PRINT @Sonuc; |
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.
