SQL分页存储过程

SQL分页存储过程,第1张

概述SQL分页存储过程

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

-- =============================================-- Author:		xyy-- Create date: 2011-04-06-- Description:	分页,所有参数中除了@strwhere中可以而带方括号([]),其他均不可以带-- =============================================CREATE PROCEDURE [dbo].[sp_All_Pager]	@tblname nvarchar(255),--表名	@fldnames nvarchar(1000)='*',--字段列表(默认所有字段)	@fldOrdername nvarchar(255),--主键字段(排序用)	@orderType bit =0,--排序类型,非0则降序(默认升序)	@pageIndex int=1,--页码	@pageSize int =20,--页大小	@strWhere nvarchar(1500)='',--查询条件,不带where	@limitCount int =5000,--限制最多取5000条数据	@totalCount int output --总记录数ASBEGIN	SET NOCOUNT ON;	declare @strsql nvarchar(4000)--主语句	declare @strtable nvarchar(500)--主查询临时表	declare @strOrdersql nvarchar(1000)--总数查询语句	declare @strOutParam nvarchar(500)--输出参数	declare @strTmp nvarchar(255)--临时分页字句 max 和min	declare @strOrder nvarchar(255)--排序参数			--设置排序	if(@orderType != 0)	begin		set @strTmp = ' <(select min '		set @strOrder = ' order by [' + @fldOrdername +'] desc'	end	else	begin		set @strTmp = ' >(select max '		set @strOrder = ' order by [' + @fldOrdername +'] asc'	end	--设置主查询临时表	if(@strWhere!='')		set @strtable='(select top '+STR(@limitCount)+' '[email protected]+' from ['[email protected]+'] where '[email protected]+') as tmptable'    else		set @strtable='(select top '+STR(@limitCount)+' '[email protected]+' from ['[email protected]+']) as tmptable'	--设置总数查询语句和主语句	set @strOrdersql=N'select @totalCountOut=count(1) from '[email protected]	set @strOutParam=N'@totalCountOut int output'	if (@pageIndex = 1)		set @strsql = 'select top ' + str(@pageSize) +' '[email protected]+ ' from ' + @strtable + @strOrder	else		set @strsql = 'select top ' + str(@PageSize) +' '[email protected]+ ' from ' + @strtable + ' where [' + @fldOrdername + ']' + @strTmp + '(['+ @fldOrdername + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['+ @fldOrdername + '] from ' + @strtable + @strOrder + ') as tblTmp) ' + @strOrder	exec sp_executesql @strOrdersql,@strOutParam,@@L_502_8@ output	exec sp_executesql @strsqlENDGO

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

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

总结

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

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

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

原文地址: https://outofmemory.cn/sjk/1164858.html

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

发表评论

登录后才能评论

评论列表(0条)

保存