2011-01-25 539 views
3

我需要在Oracle中完成一项任务,我不知道如何才能做到这一点。可以在Oracle的SELECT中执行自动编号序列吗?

好吧,当我定义自动编号序列时,我需要做一个SELECT。

例如:

Select autonumber(1, 9000) as auto from some_table 

其结果将是

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

这将是可能的吗?有没有任何的Oracle构建函数可以帮助我做到这一点?

回答

-1
select 
    rownum 
from 
    dba_objects, 
    dba_objects 
where 
    rownum <= 9000; 
+1

脏肮脏的黑客。使用'双'表像在顶部投票的答案 – leshka 2014-10-20 18:45:30

1

您可以使用Oracle内置的ROWNUM

select rownum as auto, other1, other2 from some_table 

对于ANSI遵守,如果你想独立的行数的序列可以使用ROW_NUMBER()更高版本的Oracle

16

的在实际表格中,而不是对返回的行进行编号(在这种情况下查看rownumrow_number()),您可以执行以下操作:

select level as auto 
from dual 
connect by level <= 9000; 
相关问题