• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >MsSql > 分页存储过程(一)使用sql2005的新函数构造分页存储过程

分页存储过程(一)使用sql2005的新函数构造分页存储过程

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了sql2005存储过程,sql2005安装过程,sql2005,sql2005安装图解,sql2005 64位下载等相关知识,希望本文的分享对您有所帮助
其实在很多时候设计的度还是要把握的,不至于让自己陷入【非要把它设计成万能的分页存储过程】的怪圈中才是最重要的,因为我们还要留出时间还解决其他的很多问题,个人认为适度就可以了,留出一定的空间。也因为万能是不存在的,万物在一定的范畴之内都是合理的,出了范畴可能就没有合理的了。

         分页存储过程大致有下列几种

1、 利用Not in 和select top

 

2、 利用id大于多少和select top

3、 利用sql中的游标

4、临时表

 可以参看网上的以下链接

   C#中常用的分页存储过程小结
http://read.newbooks.com.cn/info/174545.html

         在2005中我们的选择就多了,可以利用新语法CTE(公用表表达式),关于CTE的介绍大家可以参看博客园中一位仁兄的系列教程

         http://www.cnblogs.com/nokiaguy/archive/2009/01/31/1381562.html

         或者干脆上微软的官网

http://msdn.microsoft.com/zh-cn/library/ms190766(SQL.90).aspx

查看具体内容。

         除此之外还可以利用在2005中新增的一些函数,分别是:row_number(),rank,dense_rank,ntile,这些新函数是您可以有效的分析数据以及向查询饿结果行提供排序值。您可能发现这些新函数有用的典型方案包括:将连续整数分配给结果行,以便进行表示、分页、计分和绘制直方图。

         详细介绍参见下列链接

  http://blog.csdn.net/htl258/archive/2009/03/20/4006717.aspx

         我这里主要使用的就是row_number()结合新语法CTE,先贴上我的存储过程。设计,开发,测试存储过程和相关的C#代码就花费我两天的时间,不过后面的相似界面就很快了,一上午就可以搞两个分页显示的页面,就算是复杂的查询,一上午也可以搞定。

  下面的存储过程没有将总页数和总条目数返回,如果你有兴趣,可以自己加上,可以参看 C#中常用的分页存储过程小结中的下列部分

  Declare @sql nvarchar(4000);
Declare @totalRecord int;
--计算总记录数
if (@SqlWhere ='''' or @SqlWhere='' or @sqlWhere is NULL)
set @sql = 'select @totalRecord = count(*) from ' + @TableName
else
set @sql = 'select @totalRecord = count(*) from ' + @TableName + ' where ' + @sqlWhere
EXEC sp_executesql @sql,N'@totalRecord int OUTPUT',@totalRecord OUTPUT--计算总记录数

--计算总页数

select @TotalPage=@totalRecord --CEILING((@totalRecord+0.0)/@PageSize)

存储过程SQL如下,支持不定列,不定条件,多表联合,排序任意
--pri

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • sql2005 存储过程分页代码
  • SQL2005 存储过程解密方法
  • 分页存储过程(一)使用sql2005的新函数构造分页存储过程
  • 超详细的sql2005图解安装全过程第1/2页

相关文章

  • 2017-05-11sqlserver 2005 无法在服务器上访问指定的路径或文件
  • 2017-05-11Sql Server 2005 默认端口修改方法
  • 2017-05-11SQLServer2005 批量查询自定义对象脚本
  • 2017-05-11sqlserver2005打造自动备份的维护计划图解教程
  • 2017-08-25SQL Server触发器的使用
  • 2017-05-11SQL Server 2008 安装和配置图解教程(附官方下载地址)
  • 2017-05-11SQLServer2005 没有日志文件(*.ldf) 只有数据文件(*.mdf) 恢复数据库的方法
  • 2017-05-11SqlServer 2005 简单的全文检索
  • 2017-05-11Server2005中更改sa的用户名的多种方法
  • 2017-05-11SqlServer 2005 T-SQL Query 学习笔记(3)

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • SqlServer 2005 中字符函数的应用
    • sql2005 日志清理 SQL2005压缩清除日志的方法
    • SQL Server 2008中SQL之WaitFor使用介绍
    • SQL Server2005 异地备份的多种方法
    • SQL Server 2008用'sa'登录失败,启用'sa'登录的解决办法
    • SQL2008 附加数据库提示5120错误解决方法
    • SQL2005的维护计划无法删除的解决方法
    • SQLServer 2005 控制用户权限访问表图文教程
    • MSSQL 2005 LOG备份webshell的方法
    • SQL Server Native Client下载 SQL Server Native Client安装方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有