DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Database Zone»Pagination dans MS SQL Server
    Database Zone

    Pagination dans MS SQL Server

    octobre 22, 2021
    Pagination dans MS SQL Server
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Qu’est-ce que la pagination ?

    La pagination est le processus de division de données volumineuses en ensembles de données plus petits dans des pages distinctes. Il est largement utilisé dans les applications Web.

    Comment fonctionne la pagination dans MS SQL Server ?

    Dans MS SQL Server, nous pouvons réaliser la fonctionnalité de pagination en utilisant OFFSET et FETCH clauses avec ORDER BY dans un SELECT déclaration.

    • OFFSET: représente le nombre de lignes à ignorer du jeu de résultats. Il doit être égal à 0 ou supérieur à 0.
    • FETCH: Représente le nombre de lignes à afficher dans le résultat.

    Points importants à prendre en compte lors de l’utilisation de OFFSET et FETCH :

    • ORDER BY est obligatoire pour l’utilisation OFFSET FETCH Clause.
    • OFFSET est obligatoire et FETCH est facultatif.
    • Les TOP clause ne peut pas être utilisée dans le SELECT déclaration avec OFFSET FETCH.

    Voyons des exemples :

    Dans l’exemple ci-dessous, OFFSET 0 et FETCH NEXT 5 ROWS signifie qu’il ne saute aucune ligne et renvoie les 5 lignes suivantes de l’ensemble de données, dont les 5 premières lignes de l’ensemble de données.

    SELECT EmployeeKey,FirstName,LastName,Title,EmailAddress,
    Phone,EmergencyContactName,DepartmentName
    FROM dbo.DimEmployee WITH(NOLOCK)
    ORDER BY EmployeeKey 
    OFFSET 0 ROWS
    FETCH NEXT 5 ROWS ONLY

    OFFSET 0 et FETCH 5 PROCHAINES LIGNES

    Dans l’exemple ci-dessous, OFFSET 3 et FETCH NEXT 5 ROWS signifie sauter les 3 premières lignes et retourner les 5 lignes suivantes dans l’ensemble de données.

    SELECT EmployeeKey,FirstName,LastName,Title,EmailAddress,
    Phone,EmergencyContactName,DepartmentName
    FROM dbo.DimEmployee WITH(NOLOCK)
    ORDER BY EmployeeKey 
    OFFSET 3 ROWS
    FETCH NEXT 5 ROWS ONLY

    OFFSET 3 et FETCH NEXT 5 RANGSPageNumberRowsOfPage

    • PageNumber — Représente le numéro de page
    • RowsOfPage — Représente le nombre de lignes sur une page

    Maintenant, pour calculer le nombre de lignes à sauter lorsque nous passons à la page suivante, le (@PageNumber-1) * @RowsOfPage la formule est utilisée dans le OFFSET, et le nombre de lignes sera renvoyé dans FETCH.

    Ici, PageNumber est 2 et RowsOfPage est 5, ce qui signifie renvoyer l’ensemble de données pour la page numéro 2.

    DECLARE @PageNumber AS INT
           ,@RowsOfPage AS INT
    
    SET @PageNumber=2
    SET @RowsOfPage=5
    
    SELECT EmployeeKey,FirstName,LastName,Title,EmailAddress,
    Phone,EmergencyContactName,DepartmentName
    FROM dbo.DimEmployee WITH(NOLOCK)
    ORDER BY EmployeeKey
    OFFSET (@PageNumber-1) * @RowsOfPage ROWS
    FETCH NEXT @RowsOfPage ROWS ONLY

    OFFSET (@PageNumber-1) * @ RowsofPage et FETCH NEXT @RowsOfPage ROWS

    Conclusion

    Dans l’application temps réel, cette logique complète peut être écrite dans la procédure stockée qui est appelée en cliquant sur le bouton « Suivant » ou numéro de page dans l’application web pour afficher l’ensemble des enregistrements sur la page.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.