Oracle之通过系统表创建一个几万的数据的表的方法


一直都不知道原来不管是Oracle系统默认的数据库orcl还是自己创建的数据库,都会带有系统表,系统表里面都有数据,而且有的数据达到几千行,几万行,如果能利用这些数据,就可以自己创建测试数据用的表且数据量比较大。多谢今天给我指导的童鞋。嘿嘿

下面是具体操作了哦:

-----------------------------------------------------------------------------------------------------------

原来create table a as select * from b;可以创建一个跟b一样的表啊,但是创建的表a只有表的结构,而没有表b的默认值,所以实际中貌似这样不好哦。

步骤1

先创建一个空表,只有表的结构但是不加载数据

create table big_table as selecet * from dba_objects where 1=2;

步骤2

执行一个pl/sql过程通过一个循环将这些数据同时加入进去,循环10次,big_table里面的数据就有十几万了吧。。。嘿嘿

begin

for i in 1..10

loop

insert into big_table  select * from dba_objects;

end loop;

end;

这样就得到数据量特别大的表了,但是呢,这样加载的都是重复性的数据哦,只要是这样create table big_table as select...这样创建的表,都没有主键也没有约束,即使原来的表有,所以可以加载重复性数据,这个在实际中应该用的很少吧。

相关内容