WEB开发网
开发学院数据库MSSQL Server 如何实现SQL Server 2005快速web分页 阅读

如何实现SQL Server 2005快速web分页

 2007-05-15 09:27:34 来源:WEB开发网   
核心提示: 分页的实质就是CTE中的TSQL语句,在下面的选择语句中,如何实现SQL Server 2005快速web分页(3),我使用了一个新的排序函数——ROW_NUMBER(这一函数很容易使用,你只需要给ROW_NUMBER函数提供一个域名作为参数,在以后的文章中,我将会

分页的实质就是CTE中的TSQL语句。在下面的选择语句中,我使用了一个新的排序函数——ROW_NUMBER(这一函数很容易使用,你只需要给ROW_NUMBER函数提供一个域名作为参数,ROW_NUMBER会用它来进行分页)。随后,我使用@PageSize参数来划分每页的行数以及每页的最大行数值。

例如,假设现在有一个包含三条记录的数据集,并设计每页显示两条记录,那么头两条记录将会在第一页显示,因为每页的行数必须小于或者等于第一个变量值。第三条记录将会在第二页显示,因为每页的可显示最大行数值应该小于2但是又大于1。

可以使用下面的脚本调用存储程序:

CODE:

EXECUTE usp_SalesRecords
@PageSize = 3,
@TargetPage = 2

执行程序后的返回结果如下:

图1

就如你所看到的,程序执行后将会返回一页的数据,包含三条记录,而且返回的是第二页的数据集。

需要注意的一点

一般来说,有两种方法完成数据结果的分页:在数据库层实现和不在数据库层实现。可以在客户端实现分页,但是这样做的时候,所有的数据都会返回到客户端,而且在进行数据分析的时候就决定了页面数目。在早期版本的SQL Server中,可以在数据库层实现分页,但是需要临时表和表变量。如果上面的例子没有使用CTE来进行分页的话,分页程序就不会那么简单。之所以这么简单就是因为使用了ROW_NUMBER函数的强大功能。在以后的文章中,我将会大概介绍一下其它三种排列函数,并展示它们提供的一些灵活易用的函数功能。

上一页  1 2 3 

Tags:如何 实现 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接