2011-01-25 90 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; 
相關問題