转自http://www.cnblogs.com/Tracy-Chuang/archive/2006/10/16/530125.html

毕竟人家 都有提出要求了 我当然要写出处了 好好研究一下得

通用的分页存储过程,效率高。在SQL Server2000/2005上调试通过。

-- =============================================
-- Author:  <张婷婷>
-- Create date: <2006-08-24>
-- Description: <通用分页存储过程>
-- =============================================
Create PROCEDURE [dbo].[spCommonPageData]
 @Select NVARCHAR(500),   -- 要查询的列名,用逗号隔开(Select后面From前面的内容)
 @From NVARCHAR(200),   -- From后的内容
 @Where NVARCHAR(500) = NULL, -- Where后的内容
 @OrderBy NVARCHAR(100) = NULL, -- 排序字段
 @Key NVARCHAR(50),    -- 分页主键
 @Page INT,      -- 当前页 ***计数从1开始***
 @PageSize INT,     -- 每页大小
 @TotalCount INT OUTPUT,   -- 总记录数
 @Result TINYINT OUTPUT   -- 执行是否成功
AS
BEGIN
 SET NOCOUNT ON;

 Declare @Sql nVarchar(1000), @Sql2 NVARCHAR(500)

--Alter By Tracy.Chuang 2006-08-21更改分页算法,采用比较最大值的方法
 Set @Sql=
 'Select Top '+Cast(@PageSize As
 nVarchar(10))+' '+@Select+  ' From '+@From+  ' Where '+Case
 IsNull(@Where,'') When '' Then '' Else @Where+' And ' End+
 @Key+' >( Select ISNULL(MAX('+@Key+'), 0) AS MaxID
    From (Select Top '+Cast(@PageSize*(@Page-1) As Varchar(10))+' 
 '+@Key+
       ' From '+@From+
       Case IsNull(@Where,'') When '' Then '' Else ' Where '+@Where End+
       ' Order By '+@Key+') As T)'+
 ' Order By '+@Key+Case IsNull(@OrderBy,'') When '' Then '' Else
 ','+@OrderBy End

 Exec(@Sql)

 Set @Sql2='Select 1 As Count From '+@From+Case IsNull(@Where,'') When
  '' Then '' Else ' Where '+@Where End
 Exec(@Sql2)
 SET @TotalCount = @@ROWCOUNT
 
 SET @Result = 0
END

转载于:https://www.cnblogs.com/zbqy/archive/2007/03/29/693380.html

通用的分页存储过程(少量代码实现)相关推荐

  1. 【转】通用sqlserver分页存储过程

    单主键: CREATE PROC P_viewPage     /**//*         nzperfect [no_mIss] 高效通用分页存储过程(双向检索) 2007.5.7  QQ:348 ...

  2. 通用sqlserver分页存储过程

    单主键: CREATE PROC P_viewPage/**//*nzperfect [no_mIss] 高效通用分页存储过程(双向检索) 2007.5.7 QQ:34813284敬告:适用于单一主键 ...

  3. 千万级通用的分页存储过程

    第一个方法: /*   经测试,在 14483461 条记录中查询第 100000 页,每页 10 条记录按升序和降序第一次时间均为 0.47 秒,第二次时间均为 0.43 秒,测试语法如下:   e ...

  4. SQL Server分页存储过程实践(图解)

    下面来对SQL Server分页存储过程进行一下实做.图解成功的各个步骤. 一 找到大数据量的示例表 分页都是针对大记录数的表:反之有大记录数的表,可能就需要分页.例如银行用户表,就会上千万.下面先做 ...

  5. 高性能SQLServer通用分页存储过程

    这是我之前整理的高性能SQLServer 通用分页存储过程,测试性能还不错,特此分享出来,如果有人能更好地优化,请留言,谢谢! SQL代码  1 USE [数据库名称]  2 GO  3 /***** ...

  6. [百万级]通用存储过程.分页存储过程

    /*  名称:spAll_ReturnRows  输入:  输出:  调用:   EXEC spAll_ReturnRows 'SELECT  * FROM 表名', 页号, 返回记录数, '主键', ...

  7. 通用分页存储过程(转自邹建)

    --TOP n 实现的通用分页存储过程(转自邹建) CREATE PROC sp_PageView @tbname     sysname,               --要分页显示的表名 @Fie ...

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

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

  9. Sql Server通用分页存储过程

    sql server2000分页方式很多,效率吗  当到达10万级以上就有些吃力了,这里暂时不例出来了 sql server2005以上就有了row_number 也是一大进步,详情如下参考 Sql ...

  10. mysql分页存储过程 分页查询语句_分页存储过程(用存储过程实现数据库的分页代码)...

    用存储过程实现数据库的分页代码,加快页面执行速度.具体的大家可以测试下. --******************************************************* --* 分 ...

最新文章

  1. python电脑配置要求-1.安装python3.5及电脑环境变量的配置
  2. java基础(七) java四种访问权限
  3. 看动画学算法系列之:后缀树suffix tree
  4. Webpack搭建ES6开发环境步骤
  5. 数据结构与算法--Tree(二叉树、B±树、红黑树)
  6. 转眼人到中年:前端老程序员无法忘怀的一次百度电话面试(二)
  7. 微信小程序API之showModal(Loding...)
  8. Windows环境zip版PostgreSQL数据库安装
  9. RazorPage介绍(一)
  10. 椭球拟合的电子罗盘磁差补偿_NXP传感器融合笔记09(地磁,干扰及校准,椭球拟合)...
  11. COSC1076_assignment2_221
  12. zen-cart修改 zencart 模板修改
  13. 自己搭建无线音乐服务器,建立自己的音乐库 Aurender ACS10 音乐服务器
  14. 复制csdn或者博客园文章时,图片无法直接粘贴过来解决办法
  15. 机器学习:CS 229 - Machine Learning - Supervised Learning cheatsheet
  16. w7电脑蓝屏怎么解决_电脑蓝屏怎么解决win7
  17. python-面向对象的编程
  18. 利用七牛云如何上传图片制作外链?
  19. 对PyTorch的dim的理解
  20. 关于拆项,有理函数积分,留数法

热门文章

  1. SpringMVC学习(四)结果跳转的方式:转发和重定向
  2. 计算机协议-http
  3. 锐捷服务器有什么型号,锐捷管理服务器RG-RCMS-16
  4. 惠普电脑怎么用access_学习如何使用access帮助系统
  5. php smarty 后台,smarty后台文件常用方法及说明
  6. headerutf php_php header设置编码的方法
  7. pve网卡直通虚拟机pve失联打不开解决方案,不用重新安装pve
  8. c# 如何抓微信把柄_抓住把柄表情包 - 抓住把柄微信表情包 - 抓住把柄QQ表情包 - 发表情 fabiaoqing.com...
  9. 小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_6、SpringBoot2.xHTTP请求配置讲解...
  10. 阶段3 2.Spring_03.Spring的 IOC 和 DI_13 课程知识梳理