效果图:

下面是存储过程的创建,用的时候调用就行了

/****** Object:  StoredProcedure [dbo].[spSqlPageByRownumber]    Script Date: 2015/3/5 17:34:38 ******/
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GOCREATE proc [dbo].[spSqlPageByRownumber]
@tbName varchar(255),        --表名
@tbFields varchar(1000),      --返回字段
@PageSize int,                --页尺寸
@PageIndex int,                --页码
@strWhere varchar(1000),    --查询条件
@StrOrder varchar(255)  --排序条件
as
declare @strSql varchar(5000)    --主语句
declare @strSqlCount nvarchar(500)--
--------------总记录数---------------
if @strWhere !=''
begin
set @strSqlCount='Select count(*) as TotalCout from  ' + @tbName + ' where '+ @strWhere
end
else
begin
set @strSqlCount='Select count(*) as TotalCout from  ' + @tbName
end
--------------分页------------
if @PageIndex <= 0
beginset @PageIndex = 1
end
if @strWhere !=''
begin
set @strSql='Select * from (Select  row_number() over('+@strOrder+') rowId,'+ @tbFields
+' from ' + @tbName + ' where  ' + @strWhere+' ) tb where tb.rowId >'+str((@PageIndex-1)*@PageSize)
+' and tb.rowId <= ' +str(@PageIndex*@PageSize)
end
else
begin
set @strSql='Select * from (Select  row_number() over('+@strOrder+') rowId,'+ @tbFields
+' from ' + @tbName + ' ) tb where tb.rowId >'+str((@PageIndex-1)*@PageSize)
+' and tb.rowId <= ' +str(@PageIndex*@PageSize)
endexec(@strSqlCount)
exec(@strSql)
GO

执行:

exec [dbo].spSqlPageByRownumber 'GoodsCategory','*',10,2,'Cid > 0','order by Cid desc'

本文转自叶超Luka博客园博客,原文链接:http://www.cnblogs.com/yc-755909659/p/4001712.html,如需转载请自行联系原作者

【SQL 代码】Sql分页(自用)相关推荐

  1. 浅谈SQL Server数据库分页

    数据库分页是老生常谈的问题了.如果使用ORM框架,再使用LINQ的话,一个Skip和Take就可以搞定.但是有时由于限制,需要使用存储过程来实现.在SQLServer中使用存储过程实现分页的已经有很多 ...

  2. Sql Server 2005 分页

    摘要:Sql Server 分页查询sql! Sql Server 2005分页查询数据,适用于手机端和服务器端交互 一:Dao代码: /*** 分页查询研讯分类下的新闻列表*/@Overridepu ...

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

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

  4. java分页sql语句_「sql分页」sql语句 实现分页 - seo实验室

    sql分页 sql语句 实现分页 /* 分页思想:比如你要每页获取10条记录,当你显示第5页的记录时, 也就是选取第40条至50条的记录.首先应该从所有的记录集中选取 50条记录,同时进行倒序,再从中 ...

  5. Oracle如何代码编辑,配置UltraEdit为Oracle PL/SQL代码编辑器

    配置UltraEdit为Oracle PL/SQL代码编辑器[@more@] 将下文复制到UltraEdit的wordfile.txt的最后,就能实现UltraEdit中对PL/SQL文件语法突出显示 ...

  6. 《SQL与关系数据库理论——如何编写健壮的SQL代码》一第3章

    本节书摘来华章计算机<SQL与关系数据库理论--如何编写健壮的SQL代码>一书中的第3章 ,第3.1节 C. J. Date 著 单世民 何英昊 许侃 译 更多章节内容可以访问云栖社区&q ...

  7. Sql Server 数据分页

    Sql Server 数据分页 在列表查询时由于数据量非常多,一次性查出来会非常慢,就算一次查出来了,也不能一次性显示给客户端,所以要把数据进行分批查询出来,每页显示一定量的数据,这就是数据要分页. ...

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

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

  9. 在SQL Server中分页结果的最佳方法是什么

    如果您还希望获得结果总数(在进行分页之前),那么在SQL Server 2000.2005.2008.2012中对结果进行分页的最佳方法是(性能明智的)? #1楼 最终, Microsoft SQL ...

  10. SQL SERVER 通用分页存储过程

    SQL SERVER 通用分页存储过程 从SQLSERVER 2005开始,提供了Row_Number()函数,利用函数生成的Index来处理分页,按照正常的逻辑思维都是传pageIndex和page ...

最新文章

  1. 一次深夜优化,MySQL亿级数据分页的奇妙经历
  2. 谷歌浏览器跨域报错解决办法
  3. 数据库三范式的理解(引用其他网友)
  4. wxwidget编译安装_wxWidgets编译安装方法 | 学步园
  5. html asp textbox,ASP.NET中 TextBox 文本输入框控件的使用方法
  6. tomcat(20)基于JMX的管理
  7. xml json 比较_JSON和XML:它们如何比较?
  8. MySQL数据步骤管控_数据管理的发展过程分为哪三个阶段
  9. 检测直线方法 python
  10. docker 镜像开机自启动_Docker常用命令总结
  11. php定时备份mysql,Windows服务器中PHP+MySQL设置定时备份
  12. 【渝粤教育】21秋期末考试物权法10774k1
  13. 很全的C51库函数(IIC类)(IIC、EEPROM、ADXL、PCF、HMC、L3G、BMP)
  14. Ubuntu 搭建Ftp服务器
  15. 你根本就不会使用Notes!
  16. 萌新的linux之旅27
  17. Linux系统快速查看CPU和内存使用情况,附各参数详解
  18. python目前版本强势英雄_王者荣耀:分析S10星耀局以上一些强势英雄及版本目前排位的形势...
  19. jhipster使用liquibase修改一个表的一个字段
  20. Java基础面试题精选汇总,备战面试突破篇--直击offer

热门文章

  1. 最新最全GPT-3模型网络结构详细解析
  2. 机器学习工程师正在失业,但学习依旧是唯一的出路
  3. 机器学习验证集为什么不再有新意?
  4. 不再受限于数据集和硬件,下一代 ML 软件如何构建?
  5. Michael Jordan获2020IEEE冯诺依曼奖,曾培养吴恩达、Bengio
  6. 机器学习:线性回归简单有效,但是千万不要踩到雷区!
  7. 深度报告:芯片设计EDA 2.0时代,三大路径搞定六大挑战
  8. 中科院调查组成立!杨辉发表声明,并对举报信作出详细回应
  9. 中国电子信息工程科技发展十大趋势(2019)发布
  10. 资本|五大科技巨头并购投资布局分析