2012-06-07 2 views
1

Я хочу вставить строку 100 раз в таблицу на основе count. Например, у меня есть таблица с table_id, table_name и хочет строкаДублировать строку 100 раз в SQL DEVELOPER

 
1,asd 
2,asd 
3,asd 
4,asd 
' 
' 
' 
100,asd 

Я ищу решение, используя SQL Developer.

+0

Зачем вам нужно дублировать одни и те же данные, так много раз? –

ответ

6

Вы можете использовать синтаксис connect by level, чтобы легко получить результат.

select level, 'asd' 
    from dual 
connect by level <= 100 

Или, как FSP отмечает анонимный PL/SQL блок с петлей, которая не является столь же хорошим решением, как вы всегда должны использовать SQL над PL/SQL, если это возможно ...

begin 

    for i in 1 .. 100 loop 
     insert into my_table(table_id, table_name) 
     values(i, 'asd'); 
    end loop; 

end; 
/
0

Если вы используете оракул это может быть сделано с помощью одного stamtement:

insert into your_table (table_id, table_name) select level, 'asd' from dual connect by level <= 100; 
+0

INSERT INTO ICKD (ICKD_APLN_ID, ICKD_CHR_KY1_ID, ICKD_RUN_ID) выберите уровень, 'asd', 1 FROM DUAL CONNECT BY LEVEL <= 100; Использование этого Я получаю следующее сообщение об ошибке – user1442692

+0

Какая ошибка? Я не вижу никаких ошибок? –

+0

@ user1442692, у вас есть три столбца, и вы только вставляете два. – Ben

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