SQL Server 2005 通用分页存储过程

SQL Server 2005 通用分页存储过程,第1张

概述通过SQLServer 2005之后新加入的ROW_NUMBER()函数进行分页:set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-- =============================================-- Author: <Author,,Name>-- Description: <通用分页存储过程>-- =============================================Create PRO…  通过sqlServer 2005之后新加入的ROW_NUMBER()函数进行分页:set ANSI_NulLS ONset QUOTED_IDENTIFIER ONgo-- =============================================-- Author: <Author,name>-- Description: <通用分页存储过程>-- =============================================Create PROCEDURE [dbo].[ClIEntNewsPager] @talbename varchar(255)='',-- 表名 @getFIElds varchar(1000)='*',-- 需要返回的列 @orderBy varchar(255)='',-- 排序的字段名 @PageSize int=15,-- 页尺寸 @PageIndex int=1,-- 页码,从1开始 @doCount bit=0,-- 返回记录总数,非 0 值则返回 @whereStr varchar(1500)='' -- 查询条件 (注意: 不要加 where)ASBEGIN declare @rowResult intBegin Tran declare @strsql varchar(5000) declare @startRowIndex int declare @maximumRows int set @startRowIndex = (@PageIndex - 1) * @PageSize set @maximumRows = @startRowIndex + @PageSize if(@doCount!=0) begin if @whereStr !='' set @strsql = 'select ID from ' + @talbename + ' where '+ @whereStr else set @strsql = 'select ID from ' + @talbename end else begin if(@whereStr!='') begin set @strsql = 'SELECT ' + @getFIElds + ' FROM (SELECT ROW_NUMBER() OVER (ORDER BY ' + @orderBy + ') AS RowsNum,' + @getFIElds + ' FROM ' + @talbename + ' where ' + @whereStr + ') AS TMP WHERE (RowsNum > ' + str(@startRowIndex) + ' AND RowsNum <= ' + str(@maximumRows) + ')' end else begin set @strsql = 'SELECT ' + @getFIElds + ' FROM (SELECT ROW_NUMBER() OVER (ORDER BY ' + @orderBy + ') AS RowsNum,' + @getFIElds + ' FROM ' + @talbename + ') AS TMP WHERE (RowsNum > ' + str(@startRowIndex) + ' AND RowsNum <= ' + str(@maximumRows) + ')' end end exec(@strsql) Set @rowResult = @@ROWCOUNTIf @@Error <> 0 Begin RollBack Tran Return -1 End Else Begin Commit Tran Return @rowResult EndEND 总结

以上是内存溢出为你收集整理的SQL Server 2005 通用分页存储过程全部内容,希望文章能够帮你解决SQL Server 2005 通用分页存储过程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1150599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存