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用法【教程】

