SQL Sever分页存储过程:
-------------------------- 实现分页查询的存储过程 --------------------------- CREATE PROCEDURE paggingResultProc ---- 获得某一页的数据 ---- -- 当前页页码 (即Top currPage) @currPage int = 1, -- 需要得到的字段 (即 column1,column2,......) @showColumn varchar(2000) = '*', -- 需要查看的表名 (即 from table_name) @tabName varchar(2000), -- 查询条件 (即 where condition......) 不用加where关键字 @strCondition varchar(2000) = '', 排序的字段名 (即 order by column asc/desc) @ascColumn varchar(100) = '', -- 排序的类型 (0为升序,1为降序) @bitOrderType bit = 0, -- 主键名称 @pkColumn varchar(50) = '', --分页大小 @pageSize int = 20 AS BEGIN -- 存储过程开始 --该存储过程需要用到的几个变量-- -- 该存储过程最后执行的语句 DECLARE @strTemp varchar(1000) DECLARE @strSql varchar(4000) -- 排序类型语句 (order by column asc或者order by column desc) DECLARE @strOrderType varchar(1000) BEGIN -- bitOrderType=1即执行降序 IF @bitOrderType = 1 BEGIN SET @strOrderType = ' ORDER BY '+@ascColumn+' DESC' SET @strTemp = '<(SELECT min' END ELSE BEGIN SET @strOrderType = ' ORDER BY '+@ascColumn+' ASC' SET @strTemp = '>(SELECT max' END IF @currPage = 1 -- 如果是第一页 BEGIN IF @strCondition != '' SET @strSql = 'SELECT TOP '+STR(@pageSize)+' '+@showColumn +' FROM '+@tabName+' WHERE '+@strCondition+@strOrderType ELSE SET @strSql = 'SELECT TOP '+STR(@pageSize)+' '+ @showColumn+' FROM '+@tabName+@strOrderType END ELSE -- 其他页 BEGIN IF @strCondition !='' SET @strSql = 'SELECT TOP '+STR(@pageSize)+' '+@showColumn+ ' FROM '+@tabName+' WHERE '+@strCondition+' AND '+ @pkColumn+@strTemp+'('+@pkColumn+')'+' FROM (SELECT TOP '+STR((@currPage-1)*@pageSize)+' '+@pkColumn+' FROM '+@tabName+@strOrderType+') AS TabTemp)'+@strOrderType ELSE SET @strSql = 'SELECT TOP '+STR(@pageSize)+' '+@showColumn +' FROM '+@tabName+' WHERE '+@pkColumn+@strTemp+'('+@pkColumn+')' +' FROM (SELECT TOP '+STR((@currPage-1)*@pageSize)+' '+@pkColumn+ ' FROM '+@tabName+@strOrderType+') AS TabTemp)'+@strOrderType END END EXEC (@strSql) END -- 存储过程结束
--------------------------- 查询表的记录数存储过程 ------------------------------ CREATE PROC rowsCountProc @tabName varchar(200), --需要查询的表名 @colName varchar(200)='*', --需要查询的列名 @condition varchar(200)='' --查询条件 AS BEGIN DECLARE @strSql varchar(255) IF @condition = '' SET @strSql='select count('+@colName+') from '+@tabName ELSE SET @strSql='select count('+@colName+') from '+@tabName +' where '+@condition EXEC (@strSql) END
相关推荐
SQL Server 分页存储过程是一种在数据库中实现高效数据分页查询的方法。在大型数据集的展示中,分页是必不可少的,因为它允许用户逐步浏览数据,而不是一次性加载所有记录,从而提高用户体验并减少服务器负载。以下...
sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程
数据库存储过程,可直接使用,可直接传参数,可根据自己额需要进行修改~简单、快捷
### SQL Server 分页存储过程详解 #### 一、概述 分页是数据库操作中的常见需求之一,尤其是在构建大型Web应用程序时。SQL Server 提供了多种实现分页的方法,包括使用临时表、变量、子查询等技术。其中,利用存储...
### 标准SQL Server分页存储过程:深入解析与应用 在处理大量数据时,分页技术是提高数据展示效率和用户体验的关键。SQL Server提供的存储过程是实现分页功能的有效方式之一。本文将深入探讨微软C# .NET中的宠物...
综上所述,`SqlServer 分页存储过程`涉及到如何在SQL Server中有效地执行分页查询,这通常通过存储过程来实现,并可能利用`get_no.sql`来获取序列号或特定条件下的最大值。通过理解这些概念和技术,可以构建高效且...
通用 SQLSERVER 分页存储过程 代码超级简单实用
标题提到的“通用的SQL server分页存储过程”提供了一种解决方案,可以避免重复编写存储过程,只需调整参数即可满足不同分页需求。 分页存储过程的核心思想是利用`OFFSET`和`FETCH NEXT`这两个SQL Server 2012及更...
二、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分页存储过程的工作原理。分页通常涉及到两个关键参数:当前页号(@CurrentPage)和每页记录数(@PageSize)。存储过程通过计算出开始和结束的记录索引,然后使用`OFFSET-FETCH`或`TOP-N`...
sqlserver数据库数据分页功能,介绍了如何在sqlserver数据库汇总用存储过程进行数据分页
在"分页存储过程效率对比.doc"文档中,可能详细分析了每种方法的执行计划、资源消耗、响应时间等指标,通过实验数据来展示不同方法在实际应用中的性能差异。对比这些数据可以帮助我们理解在特定数据库结构和工作负载...
SQLServer分页存储过程通常有多个版本,但是效率上有高有低,经过测试排名为: 版本1:select max 版本2:row_number 版本3:not in 版本4:临时表 版本5:中间变量 如果主键为int,请使用版本1 如果主键为guid,...
通用的Sql Server分页程序,并且符合BootStrap Table 的调用标准.
很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术