CREATE PROCEDURE pageTest --Test pour tourner les pages
--Vous devez mettre le champ de tri dans la première colonne
(
@FirstID nvarchar(20)=null, --La valeur du champ de tri du premier enregistrement de la page actuelle
@LastID nvarchar(20)=null, --La valeur du champ de tri du dernier enregistrement de la page en cours
@isNext bit=null, --true 1 : page suivante ; false 0 : page précédente
@allCount int sortie, --Renvoie le nombre total d'enregistrements
@pageSize int sortie, --renvoie le nombre d'enregistrements sur une page
@CurPage int --Numéro de page (page) 0 : première page ; -1 dernière page.
)
COMME
si @CurPage=0
commencer
--Nombre total statistique d'enregistrements
sélectionnez @allCount=count(ProductId) dans Product_test
définir @pageSize=10
--Renvoyer les données de la première page
sélectionner les 10 premiers
ID produit,
Nom du produit,
Introduction
de la commande Product_test par ProductId
fin
sinon si @CurPage=-1
sélectionnez * à partir de
(sélectionnez les 10 meilleurs ProductId,
Nom du produit,
Introduction
de la commande Product_test par ProductId desc) en tant que aa
commander par ProductId
sinon
commencer
si @isNext=1
--passer à la page suivante
sélectionnez les 10 meilleurs ProductId,
Nom du produit,
Introduction
à partir de Product_test où ProductId > @LastID commandé par ProductId
autre
--passer à la page précédente
sélectionnez * parmi
(sélectionnez les 10 meilleurs ProductId,
Nom du produit,
Introduction
à partir de Product_test où ProductId < @FirstID order by ProductId desc) as bb order by ProductId
fin
Parcourir des millions de pages de données équivaut à 100 éléments de données !