Kısa bir hatırlatmada fayda var. Sorguların daha hızlı çalışması için çalışma yükünü olabildiğince sql sorgularının çalıştığı sistemlere yükleriz (MYSQL, MSSQL vs.. gibi). Bu örneğimizi MYSQL üzerinden işleyeceğiz. MYSQL'in en büyük avantajlarından (kolaylıklarından) birisi de LIMIT adlı deyimin bulunmasıdır.
Öncelikle tablomuzu oluşturalım.
Tablo Oluşturuyoruz
CREATE TABLE tblIcerikler
(
ID INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
baslik VARCHAR(255)
)
Yazacağımız prosedürü test etmek için yeterli miktarda veri girişi yapalım.
Tablo Oluştu
Prosedür
CREATE PROCEDURE SP_Icerik_Sayfala
(
IN intAlt_Sinir INT,
IN intIcerik_Sayisi INT
)
BEGIN
SELECT * FROM tblIcerikler order by ID DESC LIMIT intAlt_Sinir, intIcerik_Sayisi;
END
Şimdi yazmış olduğumuz prosedürü çalıştıralım. İlk 5 veriyi ekrana getirelim.
Prosedür Çağırma
CALL SP_Icerik_Sayfala(0, 5);
Prosedür Sonucu
İkinci 5 veriyi ekrana getirelim.
Prosedür Çağırma
CALL SP_Icerik_Sayfala(5, 5);
Örnek
Bol prosedürlü günler :)
Kaynak: MYSQL'de Stored Procedure Kullanarak Sayfalama (Pagination) İşlemi Yapmak