SQL Server存储过程中怎么同时返回分页结果集和总数
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这期内容当中小编将会给大家带来有关SQL Server存储过程中怎么同时返回分页结果集和总数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、内核层,通常也就是要查
千家信息网最后更新 2025年11月08日SQL Server存储过程中怎么同时返回分页结果集和总数
这期内容当中小编将会给大家带来有关SQL Server存储过程中怎么同时返回分页结果集和总数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
1、内核层,通常也就是要查询的字段或者要计算的字段,这部分单独拿出来。
2、查询条件层。 如果内核只是查询一些字段的话,条件可以放在查询条件层拼接。 如果内核层完全是统计业务逻辑,那么查询条件则必须要放在内核层,像我们常用的SUM、GROUPBY 业务。
3、添加分页参数(也就是我们现在多数用的ROW_NUMBER添加rn参数)。 存储过程里我们一般会单独声明每个部分的变量用于执行时拼接。
存储过程
CREATE proc [dbo].[usp_manyidu]( @seatno nvarchar(30), @pageIndex int, @pageSize int, @rsCount int out)asbegin declare @sql nvarchar(max) --拼接内核SQL declare @where nvarchar(max)=' where 1=1' --查询条件拼接字符串 declare @cols nvarchar(max) --查询字段、计算字段 declare @sort nvarchar(50) --排序 set @sql=' from dbo.log where seatno is not null and seatno<>'''' group by seatno ' set @cols='seatno,SUM(case when manyidu=0 then 1 else 0 end) as manyi, SUM(case when manyidu=1 then 1 else 0 end) as yiban, SUM(case when manyidu=2 then 1 else 0 end) as bumanyi, SUM(case when manyidu IS null or manyidu='''' then 1 else 0 end) as weipingjia' set @sort='order by seatno' if(@seatno <>'') set @where+=' and seatno='+@seatno declare @strSQL nvarchar(max) set @strSQL=N'select * from (select ROW_NUMBER() over('+@sort+') as tmpid,* from( select * from (select '+@cols+@sql+') as tmpTable1'+@where+') as tmpTable2) as tmpTable3' +' where tmpid between '+STR((@pageIndex-1)*@pageSize+1)+' and '+STR(@pageIndex*@pageSize) print @strSQL exec(@strSQL) set @strSQL='select @total=count(*) from (select '+@cols+@sql+') as tmpTable'+@where print @strSQL exec sp_executesql @strSQL,N'@total int out',@total=@rsCount out endGO上述就是小编为大家分享的SQL Server存储过程中怎么同时返回分页结果集和总数了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
查询
内核
字段
条件
过程
存储
同时
总数
结果
业务
也就是
内容
参数
分析
专业
中小
内容丰富
变量
只是
字符
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发 cmm
迷你玩家为什么破坏mc服务器
方舟服务器管理员怎么秒训
计算网络技术教程刘振堃
扁头猛蚁数据库
计算机软件开发主要学什么
聚焦网络安全主题征文
答题挑战网络安全问题
数据库图书馆管理信息系统
db2数据库中导入数据库
教室管理系统数据库总结
健康码服务器硬件
腾讯云服务器怎么看账号和密码
网络技术支持的App
亳州企业软件开发公司哪家好
php数据库单管理单文件
手机使不了移动数据库
网络安全手抄报的知识点
边城游侠网络技术有限公司
免费的服务器文件管理软件
python导出表数据库
rust服务器相连吗
江西体彩网络安全事件
编程软件开发学校
EMS软件开发师
云端服务器 安全
抖店服务器繁忙怎么回事
穿越互联网科技小说
手机使不了移动数据库
腾讯备案服务器不能用阿里吗