SQL Döngü Kullanımı
Bazı durumlarda SQL de belli sayıda sorgu çalıştırmak veya dataset oluşturmak gerekebilir. MS SQL de bu durumlar için while döngüsü kullanılabilir. Aşağıdaki örnekte verilen sayı kadar tekrar eden döngü kurulmuştur. Birinci sorguda her sorgu sonucu bir hareket (transaction) olarak dönecektir. İkinci sorguda ise sonuçlar bir tablo değişkene doldurularak tek bir sonuç kümesi elde edilmiştir. Ayrıca döngü kullanımı sayesinde SQL de hızlı veri dodurma veya hızlı veri üretmek mümkün olabilir.
----SONUÇ BİRDEN ÇOK SATIR OLARAK DÖNER
DECLARE @Say AS INT
DECLARE @Sayac AS INT
SET @Say=5
SET @Sayac=0
WHILE @Sayac<@Say
BEGIN
SET @Sayac= @Sayac+1
SELECT @Sayac
END
SELECT 'BİTTİ' AS SONUC
--SONUÇ
SAYI
1
SAYI
2
SAYI
3
SAYI
4
SAYI
5
SONUC
BİTTİ
----SONUÇ TEK BİR TABLO OLARAK DÖNER
DECLARE @Say AS INT
DECLARE @Sayac AS INT
SET @Say=10
SET @Sayac=0
DECLARE @TABLO TABLE (SAYI INT,ADI NVARCHAR(20))
WHILE @Sayac<@Say
BEGIN
SET @Sayac= @Sayac+1
INSERT INTO @TABLO
SELECT @Sayac AS SAYI,'DENEME'+CONVERT(NVARCHAR(2),@Sayac) AS ADI
END
SELECT * FROM @TABLO
--SONUÇ
SAYI | ADI |
1 | DENEME1 |
2 | DENEME2 |
3 | DENEME3 |
4 | DENEME4 |
5 | DENEME5 |
6 | DENEME6 |
7 | DENEME7 |
8 | DENEME8 |
9 | DENEME9 |
10 | DENEME10 |