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

MSSQL通用分页存储过程

Go 
阅读更多
--分页的存储过程
CREATE PROCEDURE GetRecordFromPage 
    @tblName      varchar(255),       -- 表名 
    @fldName      varchar(255),       -- 字段名 
    @PageSize     int = 10,           -- 页尺寸 
    @PageIndex    int = 1,            -- 页码 
    @IsCount      bit = 0,            -- 返回记录总数, 非 0 值则返回 
    @OrderType    bit = 0,            -- 设置排序类型, 非 0 值则降序 
    @strWhere     varchar(4000) = ''  -- 查询条件 (注意: 不要加 where) 
AS 
 
declare  @strSQL   varchar(6000)     -- 主语句 
declare @strTmp   varchar(6000)     -- 临时变量 
declare @strOrder varchar(6000)       -- 排序类型 
 
if @OrderType != 0 
begin 
    set @strTmp = '<(select min' 
    set @strOrder = 'order by [' + @fldName +'] desc' 
end 
else 
begin 
    set @strTmp = '>(select max' 
    set @strOrder = ' order by [' + @fldName +'] asc' 
end 
 
set @strSQL = 'select top ' + str(@PageSize) + ' * from [' 
    + @tblName + '] where [' + @fldName + ']' + @strTmp + '([' 
    + @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [' 
    + @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)' 
    + @strOrder 
 
if @strWhere != '' 
    set @strSQL = 'select top ' + str(@PageSize) + ' * from [' 
        + @tblName + '] where [' + @fldName + ']' + @strTmp + '([' 
        + @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [' 
        + @fldName + '] from [' + @tblName + '] where (' + @strWhere + ') ' 
        + @strOrder + ') as tblTmp) and (' + @strWhere + ') ' + @strOrder 
 
if @PageIndex = 1 
begin 
    set @strTmp = ''
    if @strWhere != '' 
        set @strTmp = ' where (' + @strWhere + ')' 
 
    set @strSQL = 'select top ' + str(@PageSize) + ' * from [' 
        + @tblName + ']' + @strTmp + ' ' + @strOrder 
end 
 
if @IsCount != 0 
    set @strSQL = 'select count(*) as Total from [' + @tblName + ']' 
 
exec (@strSQL) 
GO

 

分享到:
评论

相关推荐

    mysql存储过程通用分页

    本篇文章将深入探讨MySQL存储过程在实现通用分页中的应用。 首先,让我们理解什么是分页。分页是数据库查询结果的一种展示方式,它将大量的数据分成若干个小部分,每次只显示一部分,这样用户可以逐页浏览,避免一...

    通用Mysql分页存储过程

    通用Mysql分页存储过程,支持多表查询。

    通用分页存储过程(支持联表查询)

    本通用分页存储过程经过我的验证,可以使用,支持联表查询,支持单表查询,效率我没测过太多,应该还可以。有需要的拿去用。 如果测试出效率,我们可以交流交流

    Mysql分页通用存储过程

    Mysql分页通用存储过程

    oracle和mssql分页存储过程-均通用

    要实现Oracle和MSSQL的通用分页存储过程,可以使用动态SQL。首先,根据数据库类型选择合适的分页语句,然后将分页参数(如页号、每页记录数)传入存储过程。这需要对两种数据库的语法有一定了解,并且可能需要处理...

    通用分页存储过程(SQL),WEB开发

    以下是一个通用分页存储过程的概述: 1. **参数定义**:存储过程需要接收两个主要参数,一个是当前页数(@CurrentPage),另一个是每页记录数(@PageSize)。有时,还需要一个总记录数参数(@TotalRows),用于返回...

    通用分页存储过程——节省你的生命,N个存储过程变一个!!该存储过程几乎可以涵盖所有查询存储过程(目前本人还没有发现不能使用的)

    该存储过程几乎可以涵盖所有查询存储...输入参数即可查询,无论是查询一条记录还是查询多条记录,无论是分页还是不分页,无论是需要查询条件还是不需要查询条件……,都可使用此通用的存储过程!!! 通用性相当好!!

    mysql通用存储过程sql脚本

    mysql通用存储过程sql脚本,支持多表,子查询,高级查询 分页

    经典的分页、排序SQL 通用存储过程.rar

    本文将详细解析"经典的分页、排序SQL 通用存储过程"所涉及的知识点,并给出如何实现这样的存储过程。 首先,分页是数据库查询中的一种优化策略,用于限制每次查询返回的结果数量,从而避免一次性加载大量数据导致的...

    MySQL分页查询通用存储过程的代码总结.doc

    本篇文章将介绍一个通用的MySQL分页查询存储过程,适用于多种情况,帮助开发者实现高效的数据检索。 首先,我们需要创建一个存储过程。在MySQL中,存储过程是一组预先编译的SQL语句,可以被多次调用,提高了代码的...

    通用的分页存储过程,内置的函数、内连接、左外连接

    在提供的`.sql`文件中,很可能是包含了创建这样一个通用分页存储过程的代码,可能包含示例的使用方法。分析和理解这个文件将有助于进一步理解和应用这些概念。在实际操作中,应根据具体的数据库系统(如MySQL、SQL ...

    一个通用的分页存储过程与在aspx页面中调用的方法

    ### 通用分页存储过程与ASPX页面中的调用方法 #### 一、分页存储过程概述 在数据库操作中,分页是非常常见且重要的功能之一。尤其在处理大量数据时,分页能够显著提高用户体验并减少服务器负载。本文介绍了一个...

    mysql 通用分页

    本文将深入探讨MySQL中的通用分页实现,并结合实例进行解析。 首先,我们需要了解SQL中的基本分页查询语句。在MySQL中,最常用的分页查询方法是结合`LIMIT`和`OFFSET`关键字。`LIMIT`用于指定每页显示的数据量,而`...

    通用的存储过程sql分页查询语句

    总结,通用的存储过程SQL分页查询语句是数据库开发中的重要工具,它结合了存储过程的复用性和SQL的灵活性,可以高效地处理大数据量的分页查询。通过选择适当的分页方法和优化策略,我们可以进一步提升查询性能,提供...

    通用存储过程高效分页

    下面是一个基于MySQL的例子,展示了一个通用的分页存储过程: ```sql DELIMITER // CREATE PROCEDURE GetPagedData(IN page INT, IN pageSize INT, IN tableName VARCHAR(255), IN orderColumn VARCHAR(255)) BEGIN...

    mysql存储过程 在动态SQL内获取返回值的方法详解

    MySql通用分页存储过程过程参数 代码如下:p_cloumns varchar(500),p_tables varchar(100),p_where varchar(4000),p_order varchar(100),p_pageindex int,p_pagesize int,out p_recordcount int,out p_pagecount int...

    ASP.NET基于通用存储过程的分页

    本主题将深入探讨如何在ASP.NET中利用通用存储过程实现分页。 首先,理解存储过程的概念是至关重要的。存储过程是在数据库中预编译的SQL语句集合,它能够执行特定的任务,如查询、插入、更新或删除数据。在分页场景...

    JAVA写的通用分页

    本文将详细探讨"JAVA写的通用分页"这一主题,结合描述中的"通用高效分页存储过程实现",我们将深入理解Java分页的原理、实现方式以及优化策略。 首先,分页的基本概念是将大量数据分块展示,而不是一次性加载所有...

    Sql通用分页及综合查询存储过程

    为了实现通用的分页和综合查询,我们可以创建一个存储过程,接收参数如表名、查询条件、排序字段、分页参数等。在存储过程中,根据传入参数动态构建并执行SQL语句。这样,我们就可以灵活地处理各种查询场景,而无需...

    基于hibernate_mysql分页通用源码

    【描述】中提到的"通用分页工具",通常会包含一个工具类或服务,用于处理数据的分页查询。开发者只需要传入必要的参数(如当前页、每页记录数等),就可以获取到分页结果,同时工具可能还会提供动态生成分页链接等...

Global site tag (gtag.js) - Google Analytics