打印本文 打印本文 关闭窗口 关闭窗口
SQL优化
作者:武汉SEO闵涛  文章来源:敏韬网  点击数33107  更新时间:2007/11/14 12:54:02  文章录入:mintao  责任编辑:mintao
CREATE PROCEDURE pagination2
(
 @SQL nVARCHAR(4000),    --不带排序语句的SQL语句
 @Page int,              --页码
 @RecsPerPage int,       --每页容纳的记录数
 @ID VARCHAR(255),       --需要排序的不重复的ID
 @Sort VARCHAR(255)      --排序字段及规则
)
AS

DECLARE @Str nVARCHAR(4000)

SET @Str=''''SELECT   TOP ''''+CAST(@RecsPerPage AS VARCHAR(20))+'''' * FROM (''''+@SQL+'''') T WHERE T.''''+@ID+''''NOT IN
(SELECT
   TOP ''''+CAST((@RecsPerPage*(@Page-1)) AS VARCHAR(20))+'''' ''''+@ID+'''' FROM (''''+@SQL+'''') T9 ORDER BY ''''+@Sort+'''') ORDER BY ''''+@Sort

PRINT @Str

EXEC sp_ExecuteSql @Str
GO

其实,以上语句可以简化为:

SELECT TOP 页大小 *

FROM Table1

 << 上一页  [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]  ...  下一页 >> 

打印本文 打印本文 关闭窗口 关闭窗口