在SQL SERVER 2000中通过SELECT自动生成序列号的方法或者通过 UNION ALL 实现分页.?

来源:百度知道 编辑:UC知道 时间:2024/09/28 03:28:21
请问在SQL SERVER 2000中通过SELECT自动生成序列号的方法或者通过UNION ALL 实现分页.?
实现的功能如下:
SELECT .......

结果:
1
2
3
4
5

1,2,3,4,5为SELECT自动生成的序列号.

1.生成标识列.前提是你所查询的表没有标识列

select *, record= identity(int,1,1) into #t from 表名
select * from #t
drop table #t

2.union all 分页

select * into #tt from 表1 union all select * from 表2

SELECT TOP 每页大小 * FROM #tt where WHERE (ID NOT IN (SELECT TOP 每页大小*当前页数,id FROM #tt ORDER BY id))
select * from #tt
drop table #tt

3.关于表变量
在查询分析器里运行下以代码:
use pubs
declare @t table(myid int IDENTITY(1, 1),au_id nvarchar(255), au_lname nvarchar(255))
INSERT INTO @t(au_id, au_lname) SELECT au_id, au_lname FROM authors
select * from @t

要是回答的内容有问题,或认为不妥,请发送百度消息给我,消息内容加上本页网址哦。。

·

select (page = page+1) as page,id,name ...... from table ....

SQL Server2005数据库中利用SQL语句自动生成序号:

1.首先,我们来介绍第一种方式:

◆查询的SQL语句如下:

select row_number() over (order by name) as rowid, sysobjects.[name] from sysobjects

◆运行的结果:

rowid name
1