Oracle之通过系统表创建一个几万的数据的表的方法
一直都不知道原来不管是oracle系统默认的数据库orcl还是自己创建的数据库,都会带有系统表,系统表里面都有数据,而且有的数据达
一直都不知道原来不管是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...这样创建的表,,都没有主键也没有约束,即使原来的表有,所以可以加载重复性数据,这个在实际中应该用的很少吧。
上一篇: 求高手帮忙实现 一段代码