zoukankan      html  css  js  c++  java
  • SQL SERVER分页存储过程

    --sql分页存储过程
    --@sqlstr  查询语句
    --@currentpage 当前页码
    --@pagesize每页信息数
    --返回值
    ---1、记录数
    ---2、符合条件的记录集
     

    IF EXISTS(SELECT * FROM SYSOBJECTS WHERE name='SP_PagingQuery' AND xtype='P')
    DROP PROCEDURE dbo.SP_PagingQuery
    GO
    /************************
    * 作者 : 
    * 时间 : 
    * 描述 : 分页存储过程
    ************************/
    CREATE PROCEDURE dbo.SP_PagingQuery
    (@sqlstr NVARCHAR(4000), --查询字符串
    @currentpage INT, --第N页
    @pagesize INT, --每页行数
    @allrecords INT OUTPUT --返回的总记录数
    )AS
    SET NOCOUNT ON
    DECLARE @P1 INT, --P1是游标的id
    @rowcount INT

    EXEC sp_cursoropen @P1 OUTPUT,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount OUTPUT --执行后会返回一个空的结果集
    SET @allrecords = @rowcount
    SET @currentpage = (@currentpage-1)*@pagesize+1
    EXEC sp_cursorfetch @P1,16,@currentpage,@pagesize --执行后会返回指定页的数据
    EXEC sp_cursorclose @P1 --根据游标标识符值关闭游标
    SET NOCOUNT OFF
    GO

  • 相关阅读:
    [HNOI2004]L语言
    [TJOI2018]异或
    如何定位低效SQL?
    索引失效的情况有哪些?
    trace的作用?
    show profile的作用?
    索引的使用原则
    MySQL主从复制的步骤
    什么是聚簇索引
    什么是全文索引?
  • 原文地址:https://www.cnblogs.com/lrl45/p/5135441.html
Copyright © 2011-2022 走看看