超经典的存储过程分页 ;-) 引自CSDN网友所作
| 主 題: | 好東西分享喲!! 利用SqlServer內部存儲過程實現快速方便的分頁 | |
| 作 者: | zxbyhcsdn (沙子) ?????? Blog | |
| 等 級: | ||
| 信 譽 值: | 97 | |
| 所屬社區: | MS-SQL Server 應用實例 | |
| 問題點數: | 200 | |
| 回復次數: | 47 | |
| 發表時間: | 2007-2-9 15:23:49 |
> SqlServer內部的分頁功能,強啊!!
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
--//調用的方式
表
exec up_zbh_DivPageBySql 'select * from 表',10,3
存儲過程
exec up_zbh_DivPageBySql 'exec 存儲過程',10,1
好東東,拿出來給大家共享,哈哈!!
比以前的那些個存儲過程分頁方便,簡單多了!!
轉載于:https://www.cnblogs.com/bigmouthz/archive/2007/02/12/648010.html
總結
以上是生活随笔為你收集整理的超经典的存储过程分页 ;-) 引自CSDN网友所作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lz0-007 读书笔记09
- 下一篇: “当前上下文中不存在名称”解决