码迷,mamicode.com
首页 > 数据库 > 详细

分页sql存储过程算法

时间:2015-01-11 17:27:56      阅读:202      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!