读书人

怎么创建一个有递增id的临时表

发布时间: 2012-03-20 14:01:11 作者: rapoo

如何创建一个有递增id的临时表
这个临时表只需要有id一列,从1到N
N最好能自己控制

之前看到一个

SQL code
select top 8000 id = identity(int,1,1) into temp from syscolumnsgoselect * from temp


不是很明白为什么用syscolumns能生成8000行id,我自己select过syscolumns,才只有200多行



[解决办法]
探讨
这个临时表只需要有id一列,从1到N
N最好能自己控制

之前看到一个

SQL code

select top 8000 id = identity(int,1,1) into temp from syscolumns
go
select * from temp



不是很明白为什么用syscolumns能生成8000行id,我自己select过syscolumns……

[解决办法]
SQL code
declare @n intselect @n=16select number id into #tfrom master.dbo.spt_valueswhere [type]='P' and number between 1 and @nselect * from #tid-----------12345678910111213141516
[解决办法]
可以利用笛卡尔积的形式去生成,05或其以上版本试试with cte和row_number排序函数。

读书人网 >SQL Server

热点推荐