SQL Server存储过程中怎么同时返回分页结果集和总数
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这期内容当中小编将会给大家带来有关SQL Server存储过程中怎么同时返回分页结果集和总数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、内核层,通常也就是要查
千家信息网最后更新 2024年11月17日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安全错误
数据库的锁怎样保障安全
三级网络技术 有机试吗
云服务器系统哪种好
齐齐哈尔直销后台软件开发
计算机网络技术 教学目标
云服务器能不能安装c4d软件
网络安全学院有那些专业
超赢商业管理系统服务器
广州手机软件开发收费
法院网络安全检查自查报告
百度驱动软件开发
苏州戴尔网站搭建服务器
公交车站点数据库设计阶段
谷歌云服务器没卡怎么办
进销存资料保存到数据库
复杂数据库查询语句怎么写
烛龙的服务器怎么加入
无锡网络安全监管
软件开发企业人员成本占比
网络安全公益宣传直播简报
网络技术员学什么技能
文件上传阿里云服务器
猫和老鼠网易版服务器叫什么名字
网络安全论文怎么减肥
网络安全 华为创业
湖南金厚互联网科技有限公司
2018年校园网络安全
广州net软件开发价钱
数据库对象有哪6种
关于网络安全小儿歌
软件开发的考试有哪些东西