[Oracle]快速生成大量模拟数据的方法

快速生成大量模拟数据的方法:

create table TEST(id integer, TEST_NUMBER NUMBER(18,6));

insert into TEST
 select i+j, i+j
   from  (
          with DATA2(j) as (
                            select 0 j from DUAL
                              union all
                            select j+1000 from DATA2 where j < 999000
                           )
          select j from DATA2
         ),
         (
          with DATA1(i) as (
                            select 1 i from DUAL
                              union all
                            select i+1 from DATA1 where i < 1000
                           )
          select i from DATA1
         );

这是生成10万条数据

如果生成1000完条数据,则变成:


create table TEST(id integer, TEST_NUMBER NUMBER(18,6));

insert into TEST
 select i+j, i+j
   from  (
          with DATA2(j) as (
                            select 0 j from DUAL
                              union all
                            select j+1000 from DATA2 where j < 99990000
                           )
          select j from DATA2
         ),
         (
          with DATA1(i) as (
                            select 1 i from DUAL
                              union all
                            select i+1 from DATA1 where i < 10000
                           )
          select i from DATA1
         );

posted @ 2017-09-26 13:15  健哥的数据花园  阅读(2058)  评论(0编辑  收藏  举报