Öncelikle tablomuzu oluşturalım.
İletişim Tablosu
CREATE TABLE [tblIletisim] ( [iletisim_ID] INT PRIMARY KEY NOT NULL IDENTITY(1,1), [ad_soyad] NVARCHAR(50), [e_posta] NVARCHAR(100), [mesaj] NVARCHAR(2000) )Oluşturduğumuz tabloyu rahatça test etmek için veriler ekleyelim.
Eklenen Kayıtlar
Prosedür
CREATE Proc [SP_Iletisim_Sayfala] ( @intBaslangic_Degeri INT, @intBitis_Degeri INT ) AS BEGIN SELECT iletisim_ID, ad_soyad, e_posta FROM (SELECT row_number() over (order by iletisim_ID ASC) AS satir, iletisim_ID, ad_soyad, e_posta FROM tblIletisim) AS tblTablo WHERE tblTablo.satir > @intBaslangic_Degeri AND tblTablo.satir <= @intBitis_Degeri order by iletisim_ID ASC END
Prosedürümüzü derledikten sonra çalıştırmak için betiklerimizi yazalım.
İlk 5 Kayıt
EXEC SP_Iletisim_Sayfala 0, 5
İlk 5 Kayıt Sonucu
Buradaki mantık şu şekildedir, kayıtları satır satır tekrar listeledikten sonra uygun satır aralığına düşen değerileri çıktı olarak vermektedir.
6 ile 9 arasındaki 4 kaydı listelemek için aşağığdaki kod betiklerini çalıştıralım.
6-9 Arası Kayıtlar
EXEC SP_Iletisim_Sayfala 5, 9