Можно сделать последовательность автонумерации в SELECT на Oracle? - PullRequest
3 голосов
/ 25 января 2011

Мне нужно выполнить задачу в Oracle, которую я не знаю, как я могу это сделать.

Хорошо, мне нужно выполнить SELECT, когда я определяю последовательность автонумерации на лету.

Например:

Select autonumber(1, 9000) as auto from some_table

И результат будет

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

Это можно было бы сделать?Есть ли какая-нибудь встроенная функция оракула, которая поможет мне в этом?

Ответы [ 3 ]

19 голосов
/ 25 января 2011

Если вам нужна последовательность чисел, независимых от строк в фактической таблице, вместо нумерации возвращаемых строк (в этом случае посмотрите на rownum или row_number()), вы можете сделать:

select level as auto
from dual
connect by level <= 9000;
1 голос
/ 25 января 2011

Вы можете использовать встроенный в Oracle rownum

select rownum as auto, other1, other2 from some_table

Для соответствия ANSI вы можете использовать ROW_NUMBER () для более поздних версий Oracle

0 голосов
/ 25 января 2011
select 
  rownum
from 
  dba_objects, 
  dba_objects
where
  rownum <= 9000;
...