SqlServr分页存储过程的写法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServr分页存储过程的写法相关的知识,希望对你有一定的参考价值。

CREATE PROCEDURE [dbo].[GetDataByPager]
(    
   --从第几条数据取
   @startIndex INT,
   --分页的表
   @tableName VARCHAR(50),
   --每次取多少条
   @pageSize INT=5,
   --条件
   @condition VARCHAR(1000)=‘1=1‘,
   --通过Id进行排除  
   @key VARCHAR(20)=‘id‘
)AS
BEGIN
  --通过主建排除法 不需要进行排序
  DECLARE @TopCount INT
  --SET @TopCount=(@pageIndex-1)*@pageSize
  DECLARE @SQL  VARCHAR(1000)
  SET @SQL=‘select  TOP ‘ +CONVERT(VARCHAR(20),@pagesize)+‘ * FROM ‘[email protected]
           +‘ WHERE ‘+ @condition+‘ and ‘[email protected]+‘ NOT IN(SELECT TOP  ‘ +CONVERT(VARCHAR(20),@startIndex)[email protected]+‘ FROM ‘[email protected]+‘);‘
		   --返回的总条数
  SET @SQL [email protected]+‘ SELECT COUNT(*) FROM ‘[email protected]+‘ WHERE ‘[email protected]
  --PRINT(@SQL)
  EXEC(@SQL)
END

 

以上是关于SqlServr分页存储过程的写法的主要内容,如果未能解决你的问题,请参考以下文章

数据库sqlserver如何用存储过程做分页

动软代码生成器分页存储过程

分页存储过程(代码)

sql 存储过程输入参数个数不定的写法

使用存储过程进行数据分页

SQLServr添加数据列