MSSQL'de Stored Procedure İçerisinde Sayfalama İşlemi Yapmak

Stored Procedure (Saklı Yordam) kullanarak yaptığımız projede sayfalama işlemi için gereken kod betiklerini inceleyeceğiz.

Prosedür kullanarak yaptığımız projelerin bazı yerlerinde sayfalama işlemine yer vermek isteriz. Bu noktada MSSQL sayfalama işlemi için gereken betikleri prosedür içerisinde yazarak daha hızlı ve kullanışlı bir hale getirmiş olacağız.
Ö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
MSSQL'de Stored Procedure İçerisinde Sayfalama İşlemi Yapmak

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
MSSQL'de Stored Procedure İçerisinde Sayfalama İşlemi Yapmak

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
Örnek
MSSQL'de Stored Procedure İçerisinde Sayfalama İşlemi Yapmak

Yorumlar

  • Mustafa Karakaya

    Mustafa Karakaya:

    1 yıl önce

    Makalenizi okudum ama şunu yapmak mümkün mü sp ile on binlerce veri bir anda bootstrap datatable arasına gönderince çok yavaş listeleniyor bunu sp ile bir kısıtlama yada kısım kısım gönderebilir miyiz?
    2 cevapla
  • Yönetici Yorumu:

    1 yıl önce

    Kullandığınız datatable'ı ajax şeklinde kullanmanız gerekmektedir. Vakit bulabilirsem onun bir örneğini yapar sitede yayınlarım.

Yorum Yaz

Avatar

REKLAM

DDos Koruma, Botnet Koruma, Layer 7 Saldırı koruması, Sanal sunucu, Vds sunucu

REKLAM

Çizgi Filmler

EN

  • Popüler
  • Yeni
  • Son Yorum