1 --分页查询
 2 alter proc ShowInfo
 3     @Table nvarchar(50),--表.视图
 4     @PageSize int,--每页显示数量
 5     @PageIndex int,--当前显示页码
 6     @Conditions nvarchar(300),--筛选条件
 7     @Pages int output--返回总共有多少页
 8 as
 9     declare @start int ,--当前页开始显示的No
10     @end int,--当前页结束显示的No
11     @Context nvarchar(1024), --动态sql语句
12     @pkey nvarchar(10)--主键或索引
13     set @start=(@PageIndex-1)+1
14     set @end=@start+@PageSize-1
15     set @pkey=index_col(@Table,1,1)--获取主键,或索引
16     --通过条件将符合要求的数据汇聚到临时表#temp上
17     set @Context='select row_number() over(order by '+@pkey+') as [No],* into #temp  from '+@Table
18     --判断是否有筛选条件传入
19     if(@Conditions is not null)
20         set @Context=@Context+' where '+@Conditions
21     --通过查询#temp 表实现分页.
22     set @Context=@Context+'  select * from #temp where No between '+cast(@start as nvarchar(4))+' and '+cast(@end as nva  rchar(4))
23     --返回出总共可以分成多少页
24     set @Context=@Context+'  declare @count int  select @count=count(*) from #temp  set @Pages= @count/'+cast(@PageSi  ze as nvarchar(4))+'  if(@count%'+cast(@PageSize as nvarchar(4))+'<>0) set @Pages=@Pages+1 '
25
26     exec sp_executesql @Context,N'@Pages int output', @Pages output
27     -- sp_executesql @动态sql语句,@动态sql语句中需要的参数,@传入动态sql语句参数的值(个人理解)
28 ---------------------------------------------------------------------------------------------------
29 declare @p int
30 exec ShowInfo 'Products',10,1,null, @p output
31 select @p

转载于:https://www.cnblogs.com/L-unatic/p/3998542.html

SQL存储过程实现分页查询相关推荐

  1. 【转】在SQL Server中通过SQL语句实现分页查询

    在SQL Server中通过SQL语句实现分页查询 2008年01月06日 星期日 12:28 建立表: CREATE TABLE [TestTable] ( [ID] [int] IDENTITY ...

  2. sql oracle分页查询,【SQL】Oracle分页查询的三种方法-Oracle

    [SQL]Oracle分页查询的三种方法 采用伪列 rownum 查询前10条记录 [sql] select * from t_user t where ROWNUM <10; 按照学生ID排名 ...

  3. oracle分页查询sql语句通用,oracle分页查询sql语句,oracle分页查询sql语句详解

    oracle分页查询sql语句,oracle分页查询sql语句详解,Oracle分页查询sql语句 Oracle中分页和MySql中的分页不同,MySql中的分页使用关键字limit即可,相对简单一点 ...

  4. SQL数据库(分页查询、DCL 数据控制语言、通用函数、约束、多表查询)

    分页查询 语法 select 字段列表 from 表名 limit 起始索引,查询记录数(每页显示的条数) 注意 起始索引 从0开始, 起始索引 = (查询的页码-1)* 每页显示的记录数 1–5-0 ...

  5. 【sql】实现分页查询

    分页查询,以五条五条查询为例: 代码实现: select * from goods_list LIMIT 0 , 5; 从第0条开始,查询五条

  6. SQL语句:分页查询

    分页查询 使用SELECT查询时,如果结果集数据量很大,比如几万行数据,放在一个页面显示的话数据量太大,不如分页显示,每次显示100条 要实现分页功能,实际上就是从结果集中显示第1至100条记录作为第 ...

  7. sql语句实现分页查询

    2005及以上版本 -- 分页查询(通用型) select top pageSize * from (select row_number() over(order by sno asc) as row ...

  8. sql server语法——分页查询

    一.语法 方案一:使用top分页 select top 页码大小 查询字段 from 表名 where 主键 not in (select top (页码大小 * 当前页(以0开始))查询字段 fro ...

  9. SQL Server分页查询方法整理

    SQL Server数据库分页查询一直是SQL Server的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID.YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页 ...

最新文章

  1. 化验室计算机用户管理,计算机实验室管理思路及方法
  2. python连接mysql很慢 2.7_Python 2.7 学习笔记 访问mysql数据库
  3. 【转】细数中国十大名校的IT牛人
  4. php实现两个大整数求和,PHP计算两个特别大的整数实例代码
  5. x3250m6系列服务器,IBM服务器X3250 M6 E3-1230v6 8GB 4x3.5 C110 300W 无驱
  6. Python中的_main_与_init_详解
  7. 如何解决Django与Vue语法的冲突
  8. android开发案例1---拦截电话,拯救史迪仔,有序广播
  9. 随机森林回归简单示例
  10. php的ct表现,巨大垂体腺瘤(Pituitary adenoma)CT病例图片影像诊断分析
  11. 微信扫码关注公共号生成上下级关系,扫码之后的流程
  12. 移动地图定位软件完成了
  13. ​PDF怎么转换成Word?试试这几种好用的转换方法
  14. #Python第三方模块学习笔记(四)——CSV模块功能及主要函数介绍
  15. 怎么调出全局搜索_华为手机怎么设置全局搜索,怎么开启以及怎么关闭
  16. 如何把魅族Pro 5刷成Ubuntu手机
  17. PostgreSQL 二进制安装
  18. 百度APP iOS暗黑模式适配的完美解决方案
  19. Telnet端口23连接失败最靠谱解决方案
  20. Wephone开发者苏享茂自杀,码农的困境与现状

热门文章

  1. jsf项目启动报:java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
  2. java异常怎么输出到页面_怎么把抛出的异常信息输出到SWING 界面上
  3. 5.3.1 TCP协议特点和TCP报文段格式
  4. java linkedlist 查找_Java中LinkedList真的是查找慢增删快
  5. python导入自定义模块和路径问题
  6. window下python扩展包大全
  7. Django-model中的Querysets
  8. msdn 上的关于delegate和event的一个例子,理解后加点评论
  9. [剑指offer] 字符流中第一个不重复的字符
  10. Spark2.1.0之内置RPC框架