当前位置: 首页 > news >正文

分页存储过程(三)

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
--名称:分页存储过程
--使用示例 EXEC sp_PageIndex '*',' FROM StuSources ',2,10
--注意
--目前还没有对输入的参数进行严格的验证
--默认为输入都是合法有效的

ALTER PROC sp_PageIndex
@sqlSelect varchar(800) --SELECT 后面 FROM 前面 的 字段 不用包含SELECT
,@sqlFrom varchar(800) --FROM 后面 的 字段 包含FROM
,@countPerPage int -- 每页数据行数
,@toPage int --要转到的页码
AS
BEGIN

-- 根据每页数据行数 和 要转到的页码 得到 数据起止点
Declare @start int
Declare @end int

set @end = @countPerPage * @toPage
set @start = @countPerPage * (@toPage - 1) + 1


-- 临时表名称 可随机命名
Declare @tmpTable varchar(10)
SET @tmpTable ='#tmp'

Declare @sqlStr varchar(800)
-- 创建数据源到临时表
SELECT @sqlStr = 'SELECT Identity(int,1,1) AS RowIndex,'
SELECT @sqlStr = @sqlStr + rtrim(@sqlSelect) + ' INTO '+ @tmpTable
SELECT @sqlStr = @sqlStr + rtrim(@sqlFrom)
-- 查询临时表 得到所需要的数据
SELECT @sqlStr = @sqlStr + ' '+'SELECT '+ rtrim(@sqlSelect) +' FROM ' + @tmpTable
SELECT @sqlStr = @sqlStr + ' WHERE RowIndex BETWEEN ' + Convert(char,@start) + " AND " + Convert(char,@end)
-- 删除临时表
SELECT @sqlStr = @sqlStr + ' '+'DROP TABLE '+@tmpTable
EXEC (@sqlStr)
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON

转载于:https://www.cnblogs.com/weihengblogs/p/3580840.html

相关文章:

  • 禁用Dropbear中DNS反向查询连接客户端地址补丁
  • Windows Phone开发(29):隔离存储C
  • 马宁的Windows Phone 7开发教程(3)——XNA下使用MessageBox和软键盘
  • STP详解
  • 又见西安
  • 一次失败的网购:在兰蔻官网订购的货不对版
  • 多线程试题汇总
  • CentOS上配置LVS DR集群
  • Android应用加入微信分享
  • nowrap要与回车换行符结合才有意义
  • XMPP 基础
  • 初学3ds Max,做了个雪人,大家来评评哪个更好看
  • 精彩十年(3)——初露锋芒
  • Java常用工具类的使用
  • 精彩十年(4)——缔造神话
  • Angular 2 DI - IoC DI - 1
  • Angular4 模板式表单用法以及验证
  • bootstrap创建登录注册页面
  • Java深入 - 深入理解Java集合
  • Java小白进阶笔记(3)-初级面向对象
  • Kibana配置logstash,报表一体化
  • leetcode386. Lexicographical Numbers
  • nginx 配置多 域名 + 多 https
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • spring-boot List转Page
  • SwizzleMethod 黑魔法
  • vue-router的history模式发布配置
  • 对象管理器(defineProperty)学习笔记
  • 机器学习中为什么要做归一化normalization
  • 聊聊flink的TableFactory
  • 前端存储 - localStorage
  • 前嗅ForeSpider中数据浏览界面介绍
  • 区块链将重新定义世界
  • 让你的分享飞起来——极光推出社会化分享组件
  • 思维导图—你不知道的JavaScript中卷
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 新书推荐|Windows黑客编程技术详解
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 1.Ext JS 建立web开发工程
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • $NOIp2018$劝退记
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (12)Linux 常见的三种进程状态
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (9)STL算法之逆转旋转
  • (Matlab)使用竞争神经网络实现数据聚类
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (强烈推荐)移动端音视频从零到上手(上)
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (三)uboot源码分析