使用 TOP 語法來達到
USE [AdventureWorks2016]
GO
CREATE PROCEDURE uspPagingByTop (@PageIndex int , @PageRow int )
AS
BEGIN
DECLARE @Query nvarchar(800)
SET @Query=
'
SELECT TOP ' + CONVERT(NVARCHAR(3),@PageRow)+' *
FROM Sales.SalesOrderHeader
WHERE SalesOrderID NOT IN
(
SELECT TOP ' + CONVERT(NVARCHAR(3), @PageRow * (@PageIndex-1) ) + ' SalesOrderID
FROM Sales.SalesOrderHeader
ORDER BY SalesOrderID
)
ORDER BY SalesOrderID'
EXEC (@Query)
END
執行 Store Procedure 要取出 第 2 頁,每頁 10 筆資料的分頁資料EXEC uspPagingByTop 2 , 10左結果為分頁結果、右結果為直接 Select 全部資料,搭配 SSMS 的資料編號來閱讀
![[SQL] 分頁 - TOP](https://farm2.staticflickr.com/1924/44951242101_eeb549591e.jpg)
沒有留言:
張貼留言