可以在Oracle上的SELECT中执行自动编号序列吗?

时间:2011-01-25 10:51:22

标签: sql oracle select sequence

我需要在Oracle中执行一项任务,我不知道如何才能做到这一点。

好的,当我在运行中定义一个自动编号序列时,我需要做一个SELECT。

例如:

Select autonumber(1, 9000) as auto from some_table

结果将是

auto
------
1
2
3
4
5
6
7
8
9
10
...
9000

这可能吗?是否有任何oracle构建功能可以帮助我这样做?

3 个答案:

答案 0 :(得分:19)

如果您想要一个与实际表中的行无关的数字序列,而不是对返回的行进行编号(在这种情况下请查看rownumrow_number()),您可以这样做:

select level as auto
from dual
connect by level <= 9000;

答案 1 :(得分:1)

您可以使用Oracle内置的rownum

select rownum as auto, other1, other2 from some_table

对于ANSI合规性,您可以将ROW_NUMBER()用于更高版本的Oracle

答案 2 :(得分:-2)

select 
  rownum
from 
  dba_objects, 
  dba_objects
where
  rownum <= 9000;