27,582
社区成员




CREATE PROCEDURE [dbo].[Pro_Pager]
@PageSize NVARCHAR(20),
@RowStart nvarchar(20),
@SQLStr nvarchar(max),
@Orderby nvarchar(100)
AS
BEGIN
DECLARE @StrSQL NVARCHAR(max)
SET @StrSQL=' SELECT TOP '+@PageSize+' * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY '+@Orderby+') AS NUMBER ,* FROM ('+@SQLStr+')AS TableA ) AS TableB WHERE TableB.NUMBER>'+@RowStart+''
DECLARE @StrCountSQL NVARCHAR(max)
SET @StrCountSQL='SELECT COUNT(*) FROM ('+@SQLStr+') AS TableC'
EXEC (@StrSQL+@StrCountSQL)
END