SQLserver2005 有一个ROW-NUMBER函数,他针对select返回的每一行,从1开始编号,赋予其连续的编号。因为在查询上应用了一个排序的标准后,只有通过编号才能够保证其顺......
下面使用临时表和IDENTITY列结合实现分页
create table #Products
(
row smallint not null identity(1,1),
productId int,
name varchar(50),
description varchar(50),
)
insert into #Products(productId,name,description) select productId,name,description from Product
select name,description from #Products where row>=6 and row<=10
值得注意的是#表示一个局部临时表,##表示一个全局临时表,局部临时表是属于创建它的数据库连接的,而全局临时表在所有连接中都可见,本列使用了局部临时表,如果有多个用户在同一时间执行搜索,则每个用户都将创建单独的版本#Products表,这是因为不同的用户是通过不同的数据库连接来访问数据的,这里就很容易想象,如果所有的连接使用单一的##products表,那就不能正确运行了。
2/2 首页 上一页 1 2 |