SQL 简单分页查询

来源:互联网 发布:淘宝评价心级 编辑:程序博客网 时间:2024/05/22 09:25
0001 use tzyj_motortest_data0002 go0003 if exists(select * from sysobjects where name = N'pGetPageDataFromTable')0004     drop procedure pGetPageDataFromTable0005 GO0006 0007 create procedure pGetPageDataFromTable0008 (0009     @tableName varchar(1000),0010     @pageSize int,0011     @currentPageIndex int,0012     @indexFieldName nvarchar(100)0013 )0014 AS0015     declare @sqlText nvarchar(1000)0016 0017 begin0018     set nocount on0019     if (@tableName is null) 0020         begin0021             RaisError('未提供分页的源表表名!!', 16, 1)0022             return -1000023         end0024 0025     set @sqlText = 'select top ' + cast(@pageSize as nvarchar(10)) + ' * from ' + @tableName0026                 + ' where ' + @indexFieldName + ' not in (select top ' 0027                 + cast(@pageSize * (@currentPageIndex - 1) as nvarchar(10)) + ' ' + @indexFieldName0028                 + ' from ' + @tableName + ' order by ' + @indexFieldName + ') '0029                 + ' order by ' + @indexFieldName0030     print @sqlText0031     exec sp_executeSQL @sqlText0032 0033 end0034 GO0035 0036 -- select count(*) from testCrvData0037 -- select top 10 * from testCrvDate0038 0039 exec pGetPageDataFromTable 'testCrvData', 30, 100000, N'crvID'
原创粉丝点击