SQL Server’da ID Olmayan Tablo ile While Döngüsünün Kullanımı

Herkese merhaba,

Bu yazıda sizlere SQL Server’da ID olmayan tablo ile While döngüsünün kullanımından bahsedeceğim.

SQL Server’da bazı durumlarda tablolarda ID ya da sıra numarası gibi değerler olmayabilir. İşte bu gibi durumlarda tabloyu while döngüsü içine alıp kullanmak için aşağıdaki örnekten faydalanabilirsiniz. İlk olarak örnek bir tablo yapalım ve içine veri ekleyelim.

--Tablo Oluşturma 

CREATE TABLE Calisanlar
(
    Ad NVARCHAR(50),
    Soyad NVARCHAR(50)
);

--Tabloya Veri Ekleme

INSERT INTO dbo.Calisanlar
(
    Ad,
    Soyad
)
VALUES
(   N'Yavuz',
             -- Ad - nvarchar(50) 
    N'Selim' -- Soyad - nvarchar(50) 
    ),
(   N'Hasan', -- Ad - nvarchar(50) 
    N'Mir'    -- Soyad - nvarchar(50) 
),
(   N'Mehmet', -- Ad - nvarchar(50) 
    N'Surat'   -- Soyad - nvarchar(50) 
),
(   N'Mahmut', -- Ad - nvarchar(50) 
    N'Konat'   -- Soyad - nvarchar(50) 
),
(   N'Oğuz', -- Ad - nvarchar(50) 
    N'Biran' -- Soyad - nvarchar(50) 
),
(   N'Hami',  -- Ad - nvarchar(50) 
    N'Gürgen' -- Soyad - nvarchar(50) 
),
(   N'Sami',  -- Ad - nvarchar(50) 
    N'Yıldız' -- Soyad - nvarchar(50) 
);

--Tabloyu Kontrol Etme 

SELECT * FROM dbo.Calisanlar

Görüldüğü üzere tablo oluştu ve veriler içine eklendi.

SQL Server’da ID Olmayan Tablo ile While Döngüsünün Kullanımı

Şimdi ise burada yapmamız gereken işlemlerden ilki tabloya sıra numarası vermek ve bu sıra numaralarının en küçük ve en büyük değerlerini çekmek.

Bu sayede tablomuzu bir döngü içine alarak istediğimiz değerleri ekran üzerinde gösterebiliriz.

Şimdi en küçük ve en büyük değerleri bulacağımız sorguyu yazalım.

--Tabloya sıra numarası verme 

DECLARE @minimumsayi INT;
DECLARE @maksimumsayi INT;

SET @maksimumsayi =
(
    SELECT MAX(Tablo.Sayi)
    FROM
    (
        SELECT *,
               ROW_NUMBER() OVER (ORDER BY Ad) AS Sayi
        FROM dbo.Calisanlar
    ) AS Tablo
);
SET @minimumsayi =
(
    SELECT MIN(Tablo.Sayi)
    FROM
    (
        SELECT *,
               ROW_NUMBER() OVER (ORDER BY Ad) AS Sayi
        FROM dbo.Calisanlar
    ) AS Tablo
);

--En Küçük Sayı 

PRINT @minimumsayi;

--En Büyük Sayı 

PRINT @maksimumsayi;

Görüldüğü üzere en küçük ve en büyük numaraları ekrana bastırdık.

SQL Server’da ID Olmayan Tablo ile While Döngüsünün Kullanımı

Şimdi ise while döngüsü içine sorgumuzu alarak her bir satırı ekranda gösterelim. Minimum ve maksimum değerlerin kullanımına dikkat edelim.

DECLARE @minimumsayi INT;
DECLARE @maksimumsayi INT;

SET @maksimumsayi =
(
    SELECT MAX(Tablo.Sayi)
    FROM
    (
        SELECT *,
               ROW_NUMBER() OVER (ORDER BY Ad) AS Sayi
        FROM dbo.Calisanlar
    ) AS Tablo
);
SET @minimumsayi =
(
    SELECT MIN(Tablo.Sayi)
    FROM
    (
        SELECT *,
               ROW_NUMBER() OVER (ORDER BY Ad) AS Sayi
        FROM dbo.Calisanlar
    ) AS Tablo
);

--PRINT @minimumsayi 
--PRINT @maksimumsayi 

WHILE (@minimumsayi <= @maksimumsayi)
BEGIN
    SELECT *
    FROM
    (
        SELECT *,
               ROW_NUMBER() OVER (ORDER BY Ad) AS Sayi
        FROM dbo.Calisanlar
    ) AS Tablo
    WHERE Tablo.Sayi = @minimumsayi;
    SET @minimumsayi = @minimumsayi + 1;
END;

Görüldüğü üzere while ile her satır veri döndürülüp ekranda bastırıldı.

SQL Server’da ID Olmayan Tablo ile While Döngüsünün Kullanımı

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

1.037 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!