不用临时表或临时变量取分页存储过程
begin declare @rowStart int ,@rowEnd int set @rowStart = (@pageIndex - 1)*@pageSize + 1 set @rowEnd = @rowStart + @pageSize -1 set @sql = 'select * from( select row_number() over(order by Date desc) as rowIndex, test.* from [dbo].[testTable] as test) as t where t.rowIndex between '+ @rowStart +' and '+ @rowEnd +'' end
说明:按Date倒序排序查询testTable表分页 @pageIndex 传入的页索引, @pageSize 传入的每页条数, select row_number() over(order by Date desc) as rowIndex 行号