2011-01-25 8 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 

でしょうか?これを行うのに役立つオラクルビルド関数がありますか?あなたが行の独立した数字のシーケンスをしたい場合は、ANSI準拠の場合は、OracleのROWNUM

select rownum as auto, other1, other2 from some_table 

で構築を使用することができます

答えて

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

汚れた汚れハック。一番上の投票された答えのように '二重'表を使う – leshka

16

それ以降のバージョンのROW_NUMBER()を使用することができます実際の表では、返される行に番号を付けるのではなく、その場合はrownumまたはrow_number()となります。

select level as auto 
from dual 
connect by level <= 9000; 
関連する問題