`

SQL Server经典的分页存储过程

阅读更多

在开发当中,我经常需要分页,而下面这个存储过程的分页很强大,可以对于任何表都可以做到分页。

--创建

create proc Ture_Page
go

--修改

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GO

ALTER  PROCEDURE Ture_Page
    @PageSize    int,        --每页的行数
    @PageIndex    int,        --1 代表第一页
    @Col        varchar(250),    --要显示的字段
    @Table        varchar(200),    --所用到的表,复条的话就写from与where之间的内容
    @Where    varchar(200)='',    --所用到的条件
    @OKey        varchar(50),    --排序字段
    @Order        varchar(20)='ASC'   --排序方式

as
 declare @cmdstr varchar(2000)
 declare @cmdstrcount  varchar(2000)

 set nocount on     
        set @cmdstr='select top '
        set @cmdstr=@cmdstr+convert(nvarchar,@PageSize)
        if @Order='DESC' and @PageIndex>1
 set @cmdstr=@cmdstr+' '+@Col+' from '+@Table+' where '+@OKey+'<'

        else if @PageIndex=1
 set @cmdstr=@cmdstr+' '+@Col+' from '+@Table+' where '+@OKey+'>='
        else
 set @cmdstr=@cmdstr+' '+@Col+' from '+@Table+' where '+@OKey+'>'

        if @PageIndex>1
          begin

   if @Order='ASC'
             set @cmdstr=@cmdstr+'(select max ('+@OKey+') from (select top '
  else
        set @cmdstr=@cmdstr+'(select min ('+@OKey+') from (select top '

            set @cmdstr=@cmdstr+convert(nvarchar,(@PageIndex-1)*@PageSize)
      if @Where<>''
              set @cmdstr=@cmdstr+' '+@OKey+' from '+@Table+'   where   '+@Where+'   order by '+@OKey+' '+@Order+') as t) '
  else
                 set @cmdstr=@cmdstr+' '+@OKey+' from '+@Table+'    order by '+@OKey+' '+@Order+') as t) '
          end

        else
          set @cmdstr=@cmdstr+' 0 ' --convert(nvarchar,0)

         print @cmdstr

        if @Where<>''
            set @cmdstr=(@cmdstr+'  and '+@Where+' order by '+@OKey+' '+@Order)
        else
            set @cmdstr=(@cmdstr+'  order by '+@OKey+' '+@Order)
       
       print @cmdstr
        exec(@cmdstr)
    set nocount off
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

 

带字符串的条件参数的传递: 'c_type= ' ' “+参数+”' ' '

 

1
1
分享到:
评论

相关推荐

    sql Server 通用分页存储过程

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

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

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

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

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

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

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

    SQLServer2008分页存储过程和java调用

    PagingOperation数据库SQLServer2008分页存储过程(和java调用存储过程源代码): 调用存储过程进行分页查询速度快,尤其是数据量超过50万条的表非常重要,此代码是我们项目中使用的,实际使用情况稳定,也希望大家...

    sqlserver 分页存储过程

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

    sql server2008分页存储过程

    本人整理的sql server2008分页存储过程,很好用的,效率很高

    SQL Server调用分页存储过程

    sql server数据库中分页的存储过程,参数中比较灵活,如果首页传1,非首页传其他。

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

    二、SQL Server的分页存储过程 在SQL Server中,可以使用`OFFSET`和`FETCH NEXT`语句实现分页。下面是一个简单的分页存储过程示例: ```sql CREATE PROCEDURE [dbo].[usp_GetPagedData] @TableName NVARCHAR(128)...

    sql server分页存储过程演示

    sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 ...

    sql server 通用分页存储过程

    1.查询返回的表、列名以及排序列没有写死,可以根据需要将这些放到存储过程的输入参数中; 2.适用于所有需要分页的单表或多表联合查询。

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

    ### 最简单的SQL Server数据库存储过程分页 #### 知识点概述 在处理大量数据时,分页查询是一项常见的需求。传统的T-SQL分页方法可能会导致性能问题,尤其是在面对百万级别的数据集时。本文介绍一种简单且高效的...

    sql的存储过程-简单分页

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

    sql分页 sqlserver中存储过程分页

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

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

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

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

    "ASP+SQL Server带条件查询的分页存储过程及其ASP调用实例" 本文主要介绍了如何使用ASP和SQL Server实现带条件查询的分页存储过程,并提供了实例代码和调用示例。该实例已经在IIS+ASP+SQL Server环境中进行了调试,...

    通用的SQL server分页存储过程

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

    标准SQLServer分页存储过程

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

    sql server 2000 分页存储过程,DB2分页存储过程,db2自动生成流水号存储过程

    首先,让我们看看SQL Server 2000的分页存储过程。在SQL Server 2000中,由于没有内置的OFFSET和FETCH NEXT功能,我们通常会使用`TOP`和`ORDER BY`结合`ROW_NUMBER()`函数来实现分页。以下是一个简单的例子: ```...

Global site tag (gtag.js) - Google Analytics