/*
功能:简单的实现数据分页
*/
ALTER PROC [dbo].[SB_FastPaging]
(
@vc_Table varchar(50),--表名
@vc_SqlWhere varchar(1000)='',--条件
@vc_SqlOrder varchar(1000)='',--排序规则
@vc_SqlFile varchar(1000)='*',--选取字段
@i_PageSize int=1,--分页大小
@i_PageIndex int=1,--页面索引
@bt_Count bit
)
as
DECLARE @vc_Sql VARCHAR(5000)
IF(@bt_Count=1)
BEGIN
SET @vc_Sql='SELECT COUNT(*) FROM '+@vc_Table+' '+@vc_SqlWhere
END
ELSE
BEGIN
SET @vc_Sql='WITH temptbl AS ('+CHAR(13)
SET @vc_Sql=@vc_Sql+'SELECT ROW_NUMBER() OVER ('+@vc_SqlOrder+')AS Row, '+@vc_SqlFile+' FROM '+@vc_Table+' '+@vc_SqlWhere+')'+CHAR(13)
SET @vc_Sql=@vc_Sql+'SELECT * FROM temptbl WHERE Row BETWEEN '+CAST((@i_PageIndex-1)*@i_PageSize+1 AS VARCHAR(8))+' AND '+CAST((@i_PageIndex-1)*@i_PageSize+@i_PageSize AS VARCHAR(8))
END
EXEC(@vc_Sql)
浙公网安备 33010602011771号