createPROCEDURE Proc_Pagination @Tablenamenvarchar(40) , @KeyFieldnvarchar(20), @CurrentPageint, @PageSizeint, @IntOrderbit=0 AS begin declare@SQLnvarchar(1000) if(@CurrentPage=1) begin set@SQL='select top'+@PageSize+'from'+@TableName+'order by'+@KeyField if(@IntOrder=1) begin set@SQL=@SQL+'asc' end else begin set@SQL=@SQL+'desc' end end else begin if(@IntOrder=1) begin set@SQL='select top'+@PageSize+'from'+@TableName+'where'+@KeyField +'not in(select top '+(@CurrentPage-1)*@PageSize+''+@KeyField +'from'+@TableName+'order by'+@KeyField+'asc) order by'+@KeyField +'asc' end else set@SQL='select top'+@PageSize+'from'+@TableName+'where'+@KeyField +'not in(select top '+(@CurrentPage-1)*@PageSize+''+@KeyField +'from'+@TableName+'order by'+@KeyField+'desc) order by'+@KeyField +'desc' end exec@SQL end