SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[GetPagedRecords] @TableName varchar(100), @pageSize int, @page int, @filter varchar(max) = null, @order varchar(100) = null AS BEGIN declare @sql varchar(max) select @sql = ' with paged as ( select row_number() over (order by ' + case when @order is null then '@@IDENTITY' else @order end + ') as ''RowNum'', * from ' + @TableName + case when @filter is null then '' else ' where ' + @filter end + ') select * from paged where (RowNum between ' + Convert(varchar, (@page - 1) * @pageSize) + ' and ' + Convert(varchar, (@page * @pageSize)) + ');' exec(@sql) END
Aggiungi un commento