2010-09-16 2 views

ответ

7
INSERT INTO YourTable(YourColumn) 
    SELECT 1 + (Level -1) * YourIncrement from dual connect by Level < TotalNumbers) 

    i.e. 


    INSERT INTO YourTable(YourColumn) 
    SELECT 1 + (Level -1) * 1 from dual connect by Level < 100) 

создать последовательность 1,2,3 ... 99

INSERT INTO YourTable(YourColumn) 
    SELECT 1 + (Level -1) * 2 from dual connect by Level < 100) 

создать последовательность 1, 3, 5 .. 100

Или вы можете использовать SEQUENCES

+0

Как может Например, вы дали 1,2,3..99 работы при вставке более одного столбца? Напр. 1, sysdate 2, sysdate Также, если вы используете последовательности, то для диапазона, скажем, 10k значений, мне нужно будет выполнить команды вставки 10k, правильно? – Seamus

+0

Я посмотрел на «INSERT INTO SELECT» и получил ответ для команды с несколькими столбцами: – Seamus

+0

INSERT INTO T2 (ind, command) SELECT 1 + (Уровень -1) * 1, «сделать это» из двойного соединения по уровню <10; – Seamus

Смежные вопросы