La pagination est une fonctionnalité cruciale dans le développement d’applications, permettant aux utilisateurs de visualiser les données par petits morceaux gérables. Dans SQL Server, Microsoft a introduit au fil des ans diverses fonctionnalités pour améliorer la fonctionnalité de pagination. Une de ces fonctionnalités a été ajoutée dans SQL Server 2012, ce qui a amélioré l’efficacité des requêtes et simplifié la mise en œuvre de la pagination des données en utilisant la clause ORDER BY.
Avant de plonger dans le script de pagination, créons d’abord un ensemble de données de test. Nous utiliserons une table temporaire à cette fin :
CREATE TABLE #Tmp( ID int NOT NULL IDENTITY(1,1), Name nvarchar(50) NOT NULL );
Ensuite, insérons 100 lignes dans la table temporaire :
INSERT INTO #Tmp (Name) VALUES ('Exemple n°' + CONVERT(VARCHAR,ISNULL(@@IDENTITY, 0))) GO 100
Maintenant que nous avons nos données de test prêtes, exécutons le script de pagination :
DECLARE @PageNumber AS INT, @RowspPage AS INT SET @PageNumber = 1 SET @RowspPage = 10 SELECT ID, Name FROM #Tmp ORDER BY ID OFFSET ((@PageNumber - 1) * @RowspPage) ROWS FETCH NEXT @RowspPage ROWS ONLY;
Dans cet exemple, nous utilisons la fonction OFFSET pour mettre en œuvre la pagination. Il est important de noter que le premier enregistrement retourné sera à la position “zéro”. Pour récupérer la première page avec 10 lignes, vous pouvez définir la variable @PageNumber sur 1 et la variable @RowspPage sur 10.
En utilisant cette technique de pagination, vous pouvez naviguer facilement à travers de grands ensembles de données sans surcharger l’interface utilisateur. Cela améliore les performances des requêtes et offre un moyen plus efficace de récupérer et d’afficher des données.
N’oubliez pas que la pagination n’est qu’une des nombreuses fonctionnalités puissantes que SQL Server offre pour optimiser vos requêtes de base de données et améliorer les performances de l’application.