日期:2013-01-31 浏览次数:20474 次
本文着重引见SQL Server 2005新添加的ROW-NUMBER排序函数,它会依据你指定的分类标准将结果数据集进行分类,同时给数据集分配连续的页面,供大家参考!
分页,就是按照某种规则显示分组数据集,但是在SQL Server 中,分页并不是十分容易就能够实现。在过去,开发人员通常需求本人编写程序,使用临时表格来实现分页功用,或者将所有的数据结果集前往到客户端,在客户端进行分页操作。从开发人员或者DBA的角度来看,两种方法都不能令人满意。
随着SQL Server的发布,其中的一些排序函数使得开发人员编写数据分页程序变得愈加简单和高效。这些新的排序函数提供了统计数据集的数目,对数据集归类,按照某种标准对数据集排序等功用。在这篇文章中,我将着重引见新添加的ROW-NUMBER排序函数,它会依据你指定的分类标准将结果数据集进行分类,同时给数据集分配连续的页面。
一个分页的实例
我总是喜欢通过例子来引见如何使用新技术,所以让我们来看看如何设计一个存储程序,使用ROW_NUMBER这一新函数来实现数据的自动分页。
首先,需求定义一些数据结构。我们定义一个SalesHistory表格,它包含的数据是我们在网上售出产品的销售记录。包括一些常见的销售信息,例如,所售产品、售出日期、产品售出价格等。下面的脚本就是创建这样的一个表格:
CODE:
IF OBJECT_ID('SalesHistory','U') > 0
DROP TABLE SalesHistory
CREATE TABLE SalesHistory
(
SaleID INT IDENTITY(1,1),
Product VARCHAR(30),
SaleDate SMALLDATETIME,
SalePrice MONEY
)
运转列表A中的脚本则在上面创建的SalesHistory表中添加一些例子数据。