首页 > 数据库

完美翻页存储过程实例

时间:2009-04-30 13:59:16  作者:赵党党  我要投稿
Linux初探欢迎您的投稿,投放方法请点击这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER PROC [dbo].[P_viewPage]@TableName VARCHAR(200),--表名@FieldList VARCHAR(2000),--显示列名,如果是全部......

END
END
IF @SortType = 3 --多列排序,必须包含主键,且放置最后,否则不处理
BEGIN
IF CHARINDEX(',' @PrimaryKey ' ',',' @Order) = 0
BEGIN PRINT('ERR_02') RETURN END
IF @PageIndex <= CEILING((@TotalCount 0.0)/@PageSize)/2 --正向检索
BEGIN
SET @Sql = 'SELECT TOP ' STR(@PageSize) ' ' @FieldList ' FROM ( '
'SELECT TOP ' STR(@PageSize) ' ' @FieldList ' FROM ( '
' SELECT TOP ' STR(@PageSize*@PageIndex) ' ' @FieldList
' FROM ' @TableName @new_where1 @new_order1 ' ) AS TMP '
@new_order2 ' ) AS TMP ' @new_order1
END
ELSE --反向检索
BEGIN
SET @Sql = 'SELECT TOP ' STR(@PageSize) ' ' @FieldList ' FROM ( '
'SELECT TOP ' STR(@PageSize) ' ' @FieldList ' FROM ( '
' SELECT TOP ' STR(@TotalCount-@PageSize*@PageIndex @PageSize) ' ' @FieldList
' FROM ' @TableName @new_where1 @new_order2 ' ) AS TMP '
@new_order1 ' ) AS TMP ' @new_order1
END
END
END
PRINT(@Sql)
EXEC(@Sql)

如果您需转载 完美翻页存储过程实例,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目热门