USE [Graduate]
GO
/****** 对象: StoredProcedure [dbo].[Common_Sp_Pagination] 脚本日期: 04/16/2012 21:02:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROC [dbo].[Common_Sp_Pagination]
@StrSql NVARCHAR(MAX) ,
@PageIndex INT ,--当前页码
@PageCount INT ,--每页条数
@SortClause NVARCHAR(500) ,--排序字段,不加“Order by”
@Filter NVARCHAR(MAX) , --条件,可以为空,不加where
@TotalNum INT OUTPUT --总记录条数
AS
DECLARE @ExeSql NVARCHAR(MAX)
DECLARE @OrderByStr NVARCHAR(500)
DECLARE @StartRowIndex INT
DECLARE @EndRowIndex INT
SET @StartRowIndex = ( @PageIndex - 1 ) * @PageCount + 1
SET @EndRowIndex = @PageIndex * @PageCount
/*--条件筛选--*/
IF @Filter IS NOT NULL
AND @Filter <> ''
BEGIN
SET @StrSql = @StrSql + ' WHERE 1=1 ' + @Filter
END
/*--排序--*/
IF @SortClause IS NOT NULL
AND @SortClause <> ''
BEGIN
SET @OrderByStr = ' order by ' + @SortClause
SET @ExeSql = ' SELECT * FROM (' + @StrSql
+ ') AS A where rowIndex between ' + CAST(@StartRowIndex AS VARCHAR)
+ ' And ' + CAST(@EndRowIndex AS VARCHAR) + ' ' + @OrderByStr
END
ELSE
BEGIN
SET @ExeSql = ' SELECT * FROM (' + @StrSql
+ ') AS A where rowIndex between ' + CAST(@StartRowIndex AS VARCHAR)
+ ' And ' + CAST(@EndRowIndex AS VARCHAR) + ' '
END
PRINT @StrSql
PRINT @ExeSql
/*---查询总数-*/
CREATE TABLE #temp ( TotalNum INT )
DECLARE @InsertTemp VARCHAR(max)
SET @InsertTemp = 'insert into #temp select count(*) from (' + @StrSql + ') as A'
--PRINT @InsertTemp
EXEC(@InsertTemp)
SELECT @TotalNum = TotalNum
FROM #temp
DROP TABLE #temp
/*--查询分页信息--*/
EXEC(@ExeSql)
更多信息请查看 java进阶网 http://www.javady.com
分享到:
相关推荐
sql存储过程分页:sqlserver 2000的分页逻辑方法;以及sqlserver2005的分页函数方法。
sql存储过程分页代码,sql存储过程分页代码 sql存储过程分页代码,sql存储过程分页代码
这是我整理的,两种不同方式的分页方法,之前我做过测试的,如果数据量很大的话,然后对数据速度要求比较快的话,还是用sql存储过程分页比较好
c#,sql存储过程分页技术实现 主要运用sql存储过程进行分页实现,在进行分页实现,需要注意一下事项, * 在项目的根目录下面有一个db文件夹,请认真阅读,里面包含测试数据信息,当然你也可以 * 直接还原数据库即可
sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程
上周花一下午时间写了个 asp.net SQL存储过程分页.给大家分享下,如果写得不好请大家指出一起讨论哈,小弟第一次写文章哈..谢谢.
sql 存储过程分页代码 支持亿万庞大数据量 速度非常快 记的回复。。返还所有分还+1哦
sql 高效分页存储过程 sql 高效分页存储过程 sql 高效分页存储过程 sql 高效分页存储过程 sql 高效分页存储过程
可以增加朋友们对ASP.NET中调用存储过程方法的一些了解
清华IT软件教学存储过程分页,在数据库中就实现了分页,很好用咯。
想在存储过程中分页的朋友可以使用, sqlserver存储过程万能分页
很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术
速度最快,算法最优的sql分页存储过程,
分页存储过程 分页存储过程 分页存储过程 sql代码
存储过程 分页有数据库,有源码 sql存储过程 分页 sql存储过程 分页 sql存储过程 分页 sql存储过程 分页 sql存储过程 分页 sql存储过程 分页 sql存储过程 分页 sql存储过程 分页 sql存储过程 分页 sql存储过程 分页 ...
完整SQL分页存储过程通过此过程脚本呢实现任何数据库的分页数据显示技术
asp.net利用存储过程分页代码,代码很详细,有建库脚本和页面的调用。