很简单的SQL Server数据库存储过程分页

2008-07-02 07:20:34 北京时间
最简单的SQL Server数据库存储过程分页:

1.只需要提供Sql语句和每页的记录数,页数就可以了

2,速度超快哟,100W记录1~3秒就分出来了

3,对于存储过程特别好用

--//调用的方式

exec up_zbh_DivPageBySql 'select * from 表',10,3

存储过程

exec up_zbh_DivPageBySql 'exec 存储过程',10,1

 

--//封装成一个存储过程,调用的时候方便的很哈!!

create procedure up_zbh_DivPageBySql

@strSql varchar(8000),

@nPageSize int,

@nPageCount int

as

SET NOCOUNT ON

DECLARE @P1 INT,

@nRowCount INT

 

--//注意:@scrollopt = 1 会取得Select的时候的总行数

EXEC sp_cursoropen @P1 OUTPUT, @strSql, @scrollopt = 2, @ccopt = 335873, @rowcount = @nRowCount OUTPUT

 

IF (@P1 != 0)

BEGIN

--SELECT @nRowCount AS nRecordCount, ceiling(1.0 * @nRowCount / @nPageSize) AS nPageCount, @nPageCount AS nPage

SET @nPageCount = (@nPageCount - 1) * @nPageSize + 1

EXEC sp_cursorfetch @P1, 32, @nPageCount, @nPageSize

EXEC sp_cursorclose @P1

END

GO




发表评论

请文明参与讨论,禁止漫骂攻击。本站保留不刊登无关和不雅评论的权力。


用户名: 密码: 匿名

相关新闻
1. 确认已经安装了NT/2000和SQL Server的最新补丁程序,不用说大
在SQL Server中进行开发会让你身处险地,并且寻找快速解决方案。
本文说明向外扩展数据库系统的两个选项,从而实现更高的可扩展性
SQL Server 2005的新功能为动态管理对象,它们是在指定时间返回
本文从算法入手同时通过实例来讲解如何在SQL Server数据库中实现

广告
© 2008 The Czz5 Company. All Rights Reserved. 关于我们 - 联系我们 - 广告业务 - 网站地图 - 版权声明 - 友情连接 - 网站投稿 - 致信编辑