• 超经典的存储过程分页 ;) 引自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

    好东东,拿出来给大家共享,哈哈!!
    比以前的那些个存储过程分页方便,简单多了!!

  • 相关阅读:
    cvsmooth平滑处理函数
    对图像频率的一些理解
    VIM 如何切换buffer
    Mplab X IDE 安装DMCI
    测试 使用橘子曰
    wlr设置 Blog Ping
    wlr快捷键
    使用Windows Live Writer写文章时不要用360清除垃圾
    如何将Windows live writer草稿转存到其他电脑上
    使用windows live writer写cnblog-1 安装wlr
  • 原文地址:https://www.cnblogs.com/bigmouthz/p/648010.html
Copyright © 2020-2023  润新知