SQL分页查询存储过程代码分享

发布时间 - 2026-01-10 22:05:41    点击率:

话不多说,请看代码

-------------------------------------
-----作者:张欣宇
-----时间:2013-06-28
-----简介:根据参数和条件分页查询
-------------------------------------
Create proc [dbo].[Up_PagingQueryByParameter]
(
 ----- 表名或能查询到结果的SQL语句{SQL语句左右必须有括号例:(select * from tbl1)}
 @TableName varchar(max),
 ----- 要查询的列名语句; 可空默认*
 @ColumnName varchar(5000),
 ----- 用来排序的列; 不可为空
 @OrderByColumnName varchar(50),
 ----- 排序desc(倒序5.4.3.2.1)或asc(正序1.2.3.4.5); 可空默认asc
 @ShrtBy varchar(4),
 ----- Where条件; 可空默认1=1
 @Where varchar(5000),
 ----- 每页显示数; 可空默认20
 @PageShows int,
 ----- 当前页数; 可空默认1
 @CurrentPage int,
 ----- 0为分页查询;其他为查询全部; 可空默认0
 @IsPaging int
)
as
begin
 ----- 参数检查及规范
 if isnull(@Where,N'')=N'' set @Where = N'1=1';
 if isnull(@ColumnName,N'')=N'' set @ColumnName = N'*';
 if isnull(@PageShows,0)<1 set @PageShows = 20;
 if isnull(@CurrentPage,0)<1 set @CurrentPage = 1;
 if isnull(@ShrtBy,N'')=N'' set @ShrtBy = 'asc';
 if isnull(@IsPaging,0)<>1 set @IsPaging = 0;
 ----- 定义
 -- 拼接的SQL语句
 declare @SqlStr nvarchar(max);
 declare @SqlWithStr nvarchar(max);
 -- 开始条数
 declare @StartIndex int;
 -- 结束条数
 declare @EndIndex int;
 ----- 赋值
 set @StartIndex = (@CurrentPage-1)*@PageShows+1;
 print(@CurrentPage);
 print(@PageShows);
 print(@StartIndex);
 set @EndIndex = @CurrentPage*@PageShows;
 print(@EndIndex);
 set @OrderByColumnName=@OrderByColumnName+' '+@ShrtBy;
 ----- 分页查询
 set @SqlWithStr = N'with temp as(select ROW_NUMBER() over(order by '+@OrderByColumnName+N') as RowNumber,'+@ColumnName+N' from '+@TableName+N' as tableName where '+@Where+N')';
 if(@IsPaging = 0)
 begin
 set @SqlStr = @SqlWithStr + N' select '+@ColumnName+N' from temp where temp.RowNumber between '+convert(nvarchar(20),@StartIndex)+N' and '+convert(nvarchar(20),@EndIndex)+N'';
 ---- print(@SqlStr);
 exec(@SqlStr);
 ----- 总数查询
 set @SqlStr = @SqlWithStr + N' select count(*) as TotalNumber from temp';
 ---- print(@SqlStr);
 exec(@SqlStr);
 end
 else
 begin
 set @SqlStr = @SqlWithStr + N' select '+@ColumnName+N' from temp';
 ---- print(@SqlStr);
 exec(@SqlStr);
 end
end

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# sql  # 分页  # 存储过程  # 五种SQL Server分页存储过程的方法及性能比较  # SQL Server 分页查询通用存储过程(只做分页查询用)  # sqlserver2005利用临时表和@@RowCount提高分页查询存储过程性能示例分享  # 深入sql server 2005 万能分页存储过程的详解  # 基于Sql Server通用分页存储过程的解决方法  # mssql 高效的分页存储过程分享  # SQL Server 2005通用分页存储过程及多表联接应用  # MSSQL MySQL 数据库分页(存储过程)  # 三种SQL分页查询的存储过程代码  # SQL通用存储过程分页  # 支持多表联合  # 条数  # 每页  # 他为  # 多说  # 为空  # max  # TableName  # varchar  # desc  # ColumnName  # OrderByColumnName  # select  # 张欣  # brush  # pre  # class  # dbo  # Up_PagingQueryByParameter 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  Swift中循环语句中的转移语句 break 和 continue  HTML 中如何正确使用模板变量为元素的 name 属性赋值  Laravel Docker环境搭建教程_Laravel Sail使用指南  浅谈Javascript中的Label语句  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel安装步骤详细教程_Laravel环境搭建指南  如何在IIS管理器中快速创建并配置网站?  高端云建站费用究竟需要多少预算?  免费网站制作appp,免费制作app哪个平台好?  微信小程序 HTTPS报错整理常见问题及解决方案  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  高防服务器租用首荐平台,企业级优惠套餐快速部署  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  实例解析Array和String方法  如何在七牛云存储上搭建网站并设置自定义域名?  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  Laravel如何使用Livewire构建动态组件?(入门代码)  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  如何在阿里云ECS服务器部署织梦CMS网站?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  如何在新浪SAE免费搭建个人博客?  如何快速生成专业多端适配建站电话?  独立制作一个网站多少钱,建立网站需要花多少钱?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  如何快速建站并高效导出源代码?  Laravel怎么实现验证码(Captcha)功能  Python自动化办公教程_ExcelWordPDF批量处理案例  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  如何批量查询域名的建站时间记录?  网站制作报价单模板图片,小松挖机官方网站报价?  如何用免费手机建站系统零基础打造专业网站?  Java解压缩zip - 解压缩多个文件或文件夹实例  如何用西部建站助手快速创建专业网站?  如何挑选优质建站一级代理提升网站排名?  Python文件操作最佳实践_稳定性说明【指导】  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  专业商城网站制作公司有哪些,pi商城官网是哪个?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  Laravel如何使用查询构建器?(Query Builder高级用法)  Bootstrap整体框架之JavaScript插件架构  html5如何实现懒加载图片_ intersectionobserver api用法【教程】