sqlserver分页存储过程

2023-11-04

--分页存储过程
if (OBJECT_ID('proc_page','P') is not null)
drop proc proc_page
go
create proc proc_page
(
@tabName varchar(2000),
@fieldStr varchar(2000) = '*',
@orderStr varchar(2000),
@whereStr varchar(2000) = N'',
@pageSize int,
@pageIndex int,
@totalNum int output
)
as
begin
declare @startNum int,@endNum int,@totalCountSql nvarchar(500),@sqlStr varchar(5000);
set @startNum = (@pageIndex -1) * @pageSize +1
set @endNum = @startNum + @pageSize -1
set @totalCountSql = N'select @totalNum = count(*) from ' + @tabName;
set @sqlStr = N'(select row_number() over (order by ' + @orderStr +') as rowId,' + @fieldStr + ' from ' + @tabName + ' as h';

if(@whereStr !='' or @whereStr != null)
begin
set @totalCountSql = @totalCountSql + ' where '+ @whereStr
set @sqlStr = @sqlStr + ' where '+ @whereStr
end
exec sp_executesql @totalCountSql,N'@totalNum int out',@totalNum output;
set @sqlStr = N'select * from ' + @sqlStr + ') as t where rowId between ' + ltrim(str(@startNum)) + ' and ' +  ltrim(str(@endNum));
exec(@sqlStr)
print(@sqlStr)
end

--调用
declare @totalCount int
exec dbo.proc_page 'dbo.QM_Project_BasicInfo','*','prjId','',10,1,@totalCount output
select @totalCount as totalcount
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sqlserver分页存储过程 的相关文章

  • cocos2d怎么开发android,[cocos2d-x]cocos2d-x windows 7 Android开发环境搭建

    cocos2d x cocos2d x windows 7 Android开发环境搭建 发布时间 2020 06 21 15 10 38 来源 51CTO 阅读 451 作者 蓬莱仙羽 准备工作 1 下载JDK 7 相对应的下载32位或64
  • Springcloud 注册中心Eureka(注册中心)

    Eureka是Netflix的五大组件之一 用于服务注册与发现 SpringCloud将其集成在spring cloud netflix中 Eureka包含两个组件 Eureka Server 和Eureka Client Eureka S
  • 3A算法——自动白平衡算法

    本文介绍了3A算法中的自动白平衡算法 参考诸多大神的文章 由于整理时间较晚 未完全记得参考的原文链接 如有版权权限问题 望联系进行更正 谢谢 图像信号处理算法 Image Signal Process ISP 对图像传感器输出的原始图像进行
  • 前端开发中日期的处理( moment库介绍)

    前言 在日常开发中 我们常常会遇到以下几种场景 需要对日期进行非标准格式展示 如 2021年5月11日星期二下午6点42分 需要对日期进行处理 如 要取前24小时的时间 等 在这时候用js原生的new Date 处理就有些麻烦了 因此我们找
  • [Linux][教程][实用系列]Linux使用systemctl添加自启动程序

    1 编写 service文件 1 1 systemctl启动服务分类 1 1 1 用户类 此类下必须开机登陆之后 里面的程序才会运行 需要添加 service文件到 usr lib systemd user下 1 1 2 系统类 此类下开机
  • JOGL测试

    JOGL是JAVA通过JNI的方式调用OpenGL的封装 给出一个简单Demo 所需依赖 不是最小依赖 有多余的jar和DLL 1 环境配置 依赖jar包 指定native库 工程配置和javacv配置过程类似 指定依赖的jar包 dll库
  • IntelliJ IDEA下载安装配置教程(自用配置)

    1 下载 IDEA IDEA官网 2 安装IDEA 3 配置IDEA 重点 配置默认jdk版本 设置按钮的具体设置 设置默认字体和字体大小 设置注解颜色 设置文件默认编码格式 4 关闭IDEA自动更新 在File gt Settings g
  • CIC滤波器的matlab仿真与实现

    CIC滤波器的matlab仿真与实现 介绍 在数字信号处理中 由于后级硬件如FPGA的处理速度无法跟上前级ADC的采样速度 因此需要对ADC的采样数据进行降速处理 也就是对采样数据进行抽取 简单的抽取描述就是对其中连续几个点取一个点进行处理
  • 安卓手机玩游戏卡顿怎么解决_手机卡顿怎么办?教你3个实用解决方法,两分钟解决卡顿难题!...

    相信更多人都知道这种情况 手机越使越卡 其中最严重的就是当属安卓手机 在使用一两年之后 有的时候会卡死机 这时候相信很多人都在想改换新手机了 今天小编教大家几个小技巧 让你的手机如新机般流畅 一 更新系统不一定是好事 我们都知道在我们买过新
  • JVM 内存模型概述

    摘要 我们都知道 Java程序在执行前首先会被编译成字节码文件 然后再由Java虚拟机执行这些字节码文件从而使得Java程序得以执行 事实上 在程序执行过程中 内存的使用和管理一直是值得关注的问题 Java虚拟机在执行Java程序的过程中会
  • 【六种方案】【idea】最全解决IntelliJ IDEA控制台输出中文乱码问题

    解决方案 版本过高 idea VM 修改 配置项目编码 encodings xml 编辑配置 文件编码 修改后记得重启 版本过高 高版本引起输出乱码 已知2022年7月12日为止 Java 18输出的中文乱码不能得到有效解决 也许你试过 v
  • Android studio安装教程(2020/11/20最新版本的安装)

    一 安装前提 系统已经安装了jdk 而且版本在1 8以上 打开命令提示符界面 输入java version 切记之间有空格 就可以查看自己jdk安装版本了 二 安装准备 在官网下载最新安装包 接收协议进行下载 三 安装步骤 双击安装包 点击
  • 2021-04-06

    基于耳部PPG传感器的吞咽信号识别 1 PPG信号与吞咽 PP 信号全称是光电容积脉搏波信号 它表征的是所测组织部位内部血管中血液容积的变化量 可利用光电技术来采集 在吞咽时 由于喉部软骨的运动 影响了PP 测量的光路 即喉部PPG会有较大
  • c语言 两条线段位置,C++/STL实现判断平面内两条线段的位置关系代码示例

    概念 平面内两条线段位置关系的判定在很多领域都有着广泛的应用 比如游戏 CAD 图形处理等 而两线段交点的求解又是该算法中重要的一环 本文将尽可能用通俗的语言详细的描述一种主流且性能较高的判定算法 外积 又称叉积 是向量代数 解析几何 中的
  • 【Docker】Docer安装MySQL 8 并且远程登录

    1 概述 参考 Docer安装MySQL 5并且远程登录 2 查找版本 查找Docker Hub上的mysql镜像 runoob runoob mysql docker search mysql NAME DESCRIPTION STARS
  • CPU监控工具(CPU使用率及CPU温度监控)

    网络由设备 服务器 路由器 交换机和其他网络组件组成 CPU是网络中所有硬件设备的组成部分 它负责一个设备的稳定性和性能 企业严重依赖网络 公司硬件的处理能力决定了网络的容量 随着CPU特性和硬件的快速发展 对于组织来说 计划它们的容量并监
  • C/C++中结构体动态内存的管理(malloc和free)

    这两天在用C 写仿真代码时 用到了大量的结构体 但是最后的结果总是出错或者编译运行时就会出现错误 经过在网上查阅大量资料和博客 发现是因为使用结构体时没有考虑内存的分配 而在定义结构体这种数据类型的时候是不会分配内存空间的 只有在定义变量的
  • 解决VMware虚拟机无法联网问题

    由于博主在日常学习生活中经常通过VMware虚拟机来使用Linux或macOS系统 所以也是接触过不少和虚拟机有关的问题 其中 在博主的虚拟机里 如Ubuntu deepin 有时候会出现主机已经联网 而虚拟机却无法联网的现象 在此 博主记
  • Python装饰器解析(2)——retrying库使用与源码分析

    retrying简介 retrying功能是为一些任务添加重试机制 只需要指定不同的参数就能便捷实现重试机制逻辑代码 retrying特点 1 通用装饰器API 2 指定停止条件 即按尝试次数限制 3 指定等待条件 即 尝试之间的指数退避休
  • iOS开发入门——简单上手体验

    iOS开发入门 简单上手体验 下面我们正式进入对iOS即swift的探索了解 我们在上一篇iOS开发入门 项目创建中已经创建了一个项目 我们将基于它继续探索 如下图所示 我们双击即可进入这个项目 1 进入项目 进入项目后如下图所示 2 添加

随机推荐