Thứ Năm, 10 tháng 11, 2011

Cách viết Stored Procedure Phân Trang trong MS Sql Server

Giới thiệu với các bạn cách phân trang dữ liệu trong Sql server:

CREATE PROCEDURE [spPhanTrang]
@currPage int,-- trang hiện tại
@recodperpage int -- số dòng trên 1 trang
AS
Begin
    Begin
    -- lấy dữ liệu và chỉ số dòng (row) của nó
    WITH Temp AS
    (
    SELECT ROW_NUMBER()

    -- ColumnName là tên của các cột cần lấy
    OVER(ORDER BY Tên cột muốn Order ) AS Row, ColumnName

    FROM TableName -- tên của bảng cần lấy dữ liệu

    )

    -- lấy các dòng có chỉ số row phù hợp các các tiêu chí phân trang
    Select * From Temp
    Where Row Between (@currPage - 1)*@recodperpage+1 AND @currPage*@recodperpage
    END
END

Phân trang sử dụng OFFSET/ FETCH trong SQL Server 2012

Không có nhận xét nào :

Đăng nhận xét