112 votes

Obtention du nombre total de lignes à partir de OFFSET / FETCH NEXT

J'ai donc une fonction qui renvoie un certain nombre d'enregistrements pour lesquels je veux mettre en œuvre la pagination sur mon site Web. On m'a suggéré d'utiliser la fonction Offset/Fetch Next de SQL Server 2012 pour y parvenir. Sur notre site Web, nous avons une zone qui indique le nombre total d'enregistrements et la page sur laquelle vous vous trouvez à ce moment-là.

Auparavant, j'obtenais l'ensemble des enregistrements et j'étais capable de construire la pagination sur cette base de façon programmatique. Mais en utilisant la méthode SQL avec FETCH NEXT X ROWS ONLY, je ne reçois que X lignes, donc je ne sais pas quel est le nombre total d'enregistrements et comment calculer les pages minimum et maximum. Le seul moyen que je connaisse pour y parvenir est d'appeler la fonction deux fois et de compter les lignes à la première, puis d'exécuter la seconde avec FETCH NEXT. Existe-t-il une meilleure méthode qui ne m'obligerait pas à exécuter la requête deux fois ? J'essaie d'accélérer les performances, pas de les ralentir.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X