【Oracle】创建用于测试的大表

个人实验的时候有时会用到一些大表,在此分享用dba_objects来创建测试大表的方法:

首先建立测试表

SYS@ORCL>create table test nologging as select rownum id,a.* from dba_objects a where 1=2;

 

Table created.

插入500万条数据:

SYS@ORCL>declare

  l_cnt number;

  l_rows number:=&1;

begin

  insert /*+ append */ into test select rownum,a.* from dba_objects a;

  l_cnt:=sql%rowcount;

  commit;

  while(l_cnt<l_rows)

  loop

    insert /*+ append */ into test select rownum+l_cnt,

           owner,object_name,subobject_name,

           object_id,data_object_id,

           object_type,created,last_ddl_time,

           timestamp,status,temporary,

           generated,secondary

           from sales

           where rownum<=l_rows-l_cnt;

           l_cnt:=l_cnt+sql%rowcount;

     commit;

   end loop;

 end;  2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21  

 22  /

Enter value for 1: 5000000

old   3:   l_rows number:=&1;

new   3:   l_rows number:=5000000;

 

PL/SQL procedure successfully completed.

【Oracle】创建用于测试的大表,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。