分页存储过程

USE [TCM_Channels]
GO
/****** Object:  Test_Kind[dbo].[pro_Test_Kind_Select_Page]    Script Date: 07/20/2010 09:24:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <齐XX>
-- Create date: <2010-07-20>
-- Description: <查询数据内容并分页>
-- 参数 @result 查询条件,@pagesize 一页多少条记录,@currentpage 当请页数
-- 调用 exec pro_Test_Kind_Select_Page  '','3','1'
-- =============================================


 create PROC pro_Test_Kind_Select_Page
 @result varchar(50),
 @pagesize varchar(4),
 @currentpage varchar(4)
 as
 
 BEGIN
 declare @condition varchar(2000)
 set @condition=' ' 

 if(len(@result)>0 )
 begin
  set @condition += @result
 end

 declare @sql varchar(4000)
 set @sql = 'select * from (select * ,ROW_NUMBER() over(order by KId) as RowNum from dbo.Test_Kind where 1=1 '+  @condition +') as z where RowNum > ('+ @pagesize +'*('+ @currentpage +'-1)) and RowNum<=('+ @pagesize +'*'+ @currentpage +')'
 exec (@sql)
  
    END

------------------------------------------------------------------------------------------------------------------------------------

posted @ 2010-09-17 10:05  清凉的风/2.0  阅读(170)  评论(0)    收藏  举报