首页 > 数据库技术 > 详细

分页sql存储过程算法

时间:2015-01-11 17:25:09      阅读:293      评论:0      收藏:0      [点我收藏+]
/****** Object:  StoredProcedure [dbo].[PRO_Pub_FenYe]    Script Date: 08/04/2014 11:14:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*
--suchao
--2014-04-27
--分页查找公共方法
*/
CREATE PROCEDURE [dbo].[PRO_Pub_FenYe]
    @AsyncSql NVARCHAR(MAX),
	@PageIndex int,
	@PageSize int,
	@RecordCount int output
AS
BEGIN

SET NOCOUNT ON

DECLARE @Sql NVARCHAR(MAX) --定义SQL语句

SET @Sql=@AsyncSql;

	
    DECLARE @pagesql NVARCHAR(MAX)
	SET @pagesql=‘SELECT * FROM (‘+@Sql+‘) AS temp WHERE myrank  BETWEEN ‘+ CAST((@PageIndex-1)*@PageSize+1 AS NVARCHAR(10))+‘ AND ‘+CAST(@PageIndex*@PageSize AS NVARCHAR(10))+‘‘

	
	exec sp_executesql  @pagesql --执行SQL语句返回当前页面数据
	
	DECLARE @recount NVARCHAR(MAX)
	SET @recount=‘SELECT @RecordCount=COUNT(1) FROM (‘+@Sql+‘) AS temp‘
	
	EXEC sp_executesql @recount,N‘@RecordCount int output‘,@RecordCount output --返回受影响行数
	    print @RecordCount
	return @@error
END
GO

 

分页sql存储过程算法

原文:http://www.cnblogs.com/myblogslh/p/4216753.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!