ifexists(select*from guest_table) dropproc pagerepeat go createproc pageRepeat @tblnamevarchar(255), @fldnamevarchar(255), @pageSizeint, @pageIndexint, @pageCountsint output, @totalRecordint output as declare@strSQLnvarchar(4000), @totalCountsint, @wqeint, @sqlNVARCHAR(400), @sql1NVARCHAR(400) set@sql=N'select @totalCounts=count(*) from '+@tblname exec sp_executesql @sql,N'@totalcounts int output',@totalcounts output set@pageCounts=(@totalCounts/@pageSize) set@totalRecord=@totalCounts if (@pageCounts+1)>=@pageindexand@pageindex>0 begin if@pageIndex=1 set@strSQL='select top '+str(@pageSize)+' * from '+@tblname+' order by '+@fldname+' desc' else set@strSQL='select top '+str(@pagesize)+' * from '+@tblname+' where '+@fldname+ '<(select min('+@fldname+') '+@tblname+' from (select top '+ str((@pageIndex-1)*@pagesize)+@fldname+' from '+@tblname+' order by '+@fldname+' desc) as #temptab)order by '+@fldname+' desc' exec sp_executesql @strSQL end else begin print'错误' end go declare@pagecountsint,@totalCountsint exec pagerepeat '你的表名','排序字段',10,12,@pagecounts output,@totalCounts output select@pagecounts,@totalCounts