`
happy100583
  • 浏览: 124127 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

sqlserver2005 存储过程分页

阅读更多

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

CREATE PROCEDURE [dbo].[RecvSMSLog_queryPage]

@UcNum nvarchar(20),           --电话号码
@PageSize int,                    --每页多少条记录
@pageIndex int = 1 ,              --指定当前为第几页
@TotalPage int  output           --返回总页数

 /*
 (
 @parameter1 int = 5,
 @parameter2 datatype OUTPUT
 ) 分页查询 接收信息
 */
AS
 
BEGIN
 Begin tran -- 开始事务
 declare @sql nvarchar(3000)
 declare @totalRecord int --总记录数
 
 --计算总记录数  
    set @sql = 'select @totalRecord = count(id) from (select * from dbo.RecvSMSLog) As tmpTable'
 
 EXEC sp_executesql @sql,N'@totalRecord int OUTPUT',@totalRecord OUTPUT--计算总记录
 
  --计算总页数

  select @TotalPage=CEILING((@totalRecord+0.0)/@PageSize)   
 
    --处理页数超出范围情况
    if @PageIndex<=0
        Set @pageIndex = 1
   
    if @pageIndex>@TotalPage
        Set @pageIndex = @TotalPage

     --处理开始点
    Declare @StartRecord int
   
    set @StartRecord = (@pageIndex-1)*@PageSize
   
 if @pageIndex = 1
  begin
   Set @sql = 'select top ' + Convert(varchar(50),@PageSize) + ' * from dbo.RecvSMSLog '
   
   if len('' + @UcNum) > 0
   begin
    Set @sql = @sql + ' where UcNum = ''' + @UcNum + ''''
   end
   
   Set @sql = @sql + ' order by id desc'
  end
 else
 begin
   
   
    Set @sql = 'select top ' + Convert(varchar(50),@PageSize) + ' * from RecvSMSLog WHERE  (ID < (SELECT MIN(ID) AS Expr1 FROM  (SELECT TOP  ' + Convert(varchar(50),@StartRecord) + ' ID FROM RecvSMSLog AS RecvSMSLog_1 ORDER BY ID desc) AS derivedtbl_1))'
  
  if len('' + @UcNum) > 0
   begin
    Set @sql = @sql + ' and (UcNum = ''' + @UcNum + ''')'
   end
   
   Set @sql = @sql + ' order by id desc'
    end


 print @sql
    Exec(@sql)
  
    ---------------------------------------------------
    If @@Error <> 0
      Begin
        RollBack Tran
        Return -1
      End
     Else
      Begin
        Commit Tran
        ---返回记录总数
        Return @totalRecord
      End  

END

 

分享到:
评论

相关推荐

    sqlserver2005存储过程分页

    sqlserver2005存储过程分页,可以同时获取分页结果集和分页总记录数。

    sql Server 通用分页存储过程

    sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程

    sql分页 sqlserver中存储过程分页

    ### SQL Server 存储过程实现分页查询 #### 背景介绍 在数据库操作中,分页查询是非常常见的需求之一。特别是在数据量较大的场景下,分页不仅可以提高查询效率,还能改善用户体验。SQL Server 提供了多种方式进行...

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

    本文介绍一种简单且高效的SQL Server存储过程实现分页的方法,这种方法仅需提供SQL语句、每页的记录数以及当前页数即可快速完成分页操作。 #### SQL Server存储过程分页原理 在SQL Server中,通过存储过程实现分页...

    在VB6.0中调用SQL Server的存储过程.pdf

    在VB6.0中调用SQL Server的存储过程是VB开发者经常遇到的问题,本文将详细介绍如何在VB6.0中调用SQL Server的存储过程,并对存储过程的优点和使用方法进行了详细的解释。 首先,存储过程是一种封装方法,用于重复...

    asp+sqlserver2005万能分页存储过程源码

    asp+sqlserver2005万能分页存储过程源码 sqlserver2005源码下载,很灵活的

    sqlserver+group by分组查询分页存储过程

    根据给定的SQL Server存储过程代码片段,我们可以深入解析与SQL Server中的`GROUP BY`分组查询、存储过程以及分页技术相关的知识点。 ### SQL Server中的`GROUP BY`分组查询 `GROUP BY`子句在SQL查询语言中用于将...

    sqlserver 分页存储过程

    SQL Server 分页存储过程是一种在数据库中实现高效数据分页查询的方法。在大型数据集的展示中,分页是必不可少的,因为它允许用户逐步浏览数据,而不是一次性加载所有记录,从而提高用户体验并减少服务器负载。以下...

    Sql Server 通用分页存储过程(适用与 BootStrap Table)

    通用的Sql Server分页程序,并且符合BootStrap Table 的调用标准.

    SQL Server 2000下的通用分页存储过程

    SQL Server 2000下的通用分页存储过程.sql

    ASP+SQL Server带条件查询的分页存储过程及其ASP调用实例

    3. ASP可以用于调用SQL Server存储过程实现数据的插入、更新和查询。 4. 使用参数化的存储过程可以提高数据库的安全性和性能。 5. 使用SQL Server的存储过程可以简化数据库操作和提高开发效率。 详细知识点 知识点...

    SqlServer 分页存储过程以及代码调用

    本文将详细介绍如何使用存储过程实现SQL Server的分页,并演示如何在代码中调用这些存储过程。 一、分页的基本原理 分页通常涉及到两个关键参数:每页大小(PageSize)和当前页码(CurrentPage)。通过这两个参数...

    sql的存储过程-简单分页

    很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术

    标准SQLServer分页存储过程

    ### 标准SQL Server分页存储过程:深入解析与应用 在处理大量数据时,分页技术是提高数据展示效率和用户体验的关键。SQL Server提供的存储过程是实现分页功能的有效方式之一。本文将深入探讨微软C# .NET中的宠物...

    高效分页存储过程 高效分页存储过程

    本文将深入探讨如何创建和使用高效的分页存储过程,并针对SQL Server 2005及2010提供一个实用的例子。 首先,理解分页的基本概念。分页通常涉及到两个关键参数:当前页码(PageNumber)和每页记录数(PageSize)。...

    asp+sql server的存储过程分页代码

    根据提供的ASP + SQL Server存储过程分页代码,我们可以详细探讨其中涉及的重要知识点: ### 1. 存储过程概述 存储过程是SQL Server数据库中的一种预编译的对象,它可以包含一系列SQL语句,并且可以接受参数。存储...

    SQLserver 分页存储过程

    数据库存储过程,可直接使用,可直接传参数,可根据自己额需要进行修改~简单、快捷

    千万级数据分页查询存储过程SQLServer

    本文将深入探讨如何利用SQL Server的存储过程实现高效的大数据分页查询。 首先,理解分页查询的基本概念。分页查询是指从海量数据中按指定的页码和每页大小获取数据,通常用于网页展示或报表生成。在SQL Server中,...

    通用的SQL server分页存储过程

    标题提到的“通用的SQL server分页存储过程”提供了一种解决方案,可以避免重复编写存储过程,只需调整参数即可满足不同分页需求。 分页存储过程的核心思想是利用`OFFSET`和`FETCH NEXT`这两个SQL Server 2012及更...

Global site tag (gtag.js) - Google Analytics