MSSQL NESTİNG WHİLE MSSQL WHİLE DÖNGÜSÜ MSSQL'DE İÇ İÇE WHİLE DÖNGÜSÜNN KULLANIMI SQL DÖNGÜLER SQL İÇ İÇE DÖNGÜLER WHİLE DÖNGSÜNÜN KULLANIMI etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
MSSQL NESTİNG WHİLE MSSQL WHİLE DÖNGÜSÜ MSSQL'DE İÇ İÇE WHİLE DÖNGÜSÜNN KULLANIMI SQL DÖNGÜLER SQL İÇ İÇE DÖNGÜLER WHİLE DÖNGSÜNÜN KULLANIMI etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Tıpkı IF kullanımında iç içe IF blokları kullanabildiğimiz gibi, While döngüsü içinde de bir While döngüsü oluşturabiliriz. Tabi bunu yapabildiğimiz gibi WHILE içinde de IF blokları oluşturabilir ya da tam tersi IF blokları içinde de WHILE döngüleri oluşturabiliriz. Tıpkı .NET ortamında yapabildiğimiz gibi bu işlemleri SQL ortamında da gerçekleştirebiliyoruz. Burda önemli bir noktaya değinmek istiyorum, iç içe oluşturmuş olduğumuz her kod aslında yazmış olduğumuz kodları daha karışık yapmakta, iyi bir yazılımcı olarak her zaman kodlarınız için açıklama satırlarını kullanın. Şimdi çok basit bir örnek ile WHILE döngüsünün iç içe kullanımı nasıl oluyor değinelim.
İki adet değişken oluşturacağım ve bu iki değişkenim sayesinde bir döngü dışta yer alan döngüyü sayacak, bir diğer döngü ise içte yer alan döngüyü sayacak. Yapmak istediğim şu aslında, dış dmngümün her adımında içte yer alan döngüm 3 defa çalışcak, 3 defa çalıştıktan sonra dışta kalan döngüm yine çalışcak, sonra yine 3 defa iç döngü çalışcak. Yani 3 defa dış döngüm çalışcak ve her dış döngü çalışma adımında 3 defa da iç döngüm çalışacak. Şimdi bunu yazalım, boş bir Query sayfası açtım ve yazıyorum:
1
2
3
4
5
6
7
8
DECLARE @DisDongu INT = 1; DECLARE @IcDongu INT;
WHILE @DisDongu < 4 BEGIN PRINT 'Dış döngü çalıştırıldı';
SET @IcDongu = 1;
WHILE @IcDongu < 4 BEGIN PRINT 'İç döngü çalıştırıldı';
SET @IcDongu += 1;
END;
SET @DisDongu +=1;
END;
2013111401
Görüleceği üzere iç içe döng kullanımı bu şekilde.. Print ile de hangi döngünün çalıştırıldığını görmek için ekrana yazdırdık.

İç İçe While Döngüsü