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
相关推荐
sqlserver 分页调用的存储过程 t-sql 语句
sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程
物有所值的东东 SQL SERVER 分页存储过程 SQL SERVER 分页存储过程 SQL SERVER 分页存储过程
SqlServer 分页 存储过程
数据库存储过程,可直接使用,可直接传参数,可根据自己额需要进行修改~简单、快捷
SqlServer 分页存储过程
通用 SQLSERVER 分页存储过程 代码超级简单实用
简析基于SQL SERVER分页存储过程的演进
sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 ...
sqlserver数据库数据分页功能,介绍了如何在sqlserver数据库汇总用存储过程进行数据分页
sqlserver分页存储过程+gridview实例+通用方法(sqlserverr通用)
微软C#.net中的宠物商店的例子 中的标准的分页存储过程
SQLServer分页存储过程通常有多个版本,但是效率上有高有低,经过测试排名为: 版本1:select max 版本2:row_number 版本3:not in 版本4:临时表 版本5:中间变量 如果主键为int,请使用版本1 如果主键为guid,...
通用的Sql Server分页程序,并且符合BootStrap Table 的调用标准.
很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术
好东西,现在不用每个分页都写一个存储过程了,只要调用的时候,把参数设置好就OK了...