我希望将空白记录插入表中,以获得最终值为57,516,000条记录。我从一个包含550个唯一标识符的表开始,每个不同的TMC名称,我想为每个不同的值添加105,119条记录。因此每个TMC将有105,120条记录。 (105,119 * 550 = 57,515,450(+原始550 = 57,516,000))
但是,我遇到的问题是TOAD中的错误说这个。
ORA-03113:通信频道上的文件结束 进程ID:10272 会议ID:247序列号:1959 脚本将结束
它的规模很小但我怀疑它不是最好的方法。下面是我的脚本。有什么建议吗?
declare i number(10) :=1;
begin
for i in 1..105119
Loop
insert into npmrds_dummy
select distinct tmc,
travel_time_passenger_vehicles,
travel_time_freight_trucks,
travel_time_all_vehicles,
road_number,
road_name,
epoch,
distance,
date1,
admin_level_1,
admin_level_2,
admin_level_3
from npmrds_dummy;
end loop;
end;
答案 0 :(得分:1)
您可以使用一个SQL语句执行此操作:
insert into npmrds_dummy
select npmrds_dummy.*
from npmrds_dummy
inner join ( select 1 from dual connect by level <= 105119 )
与子选择的连接是a neat trick以乘以记录数。
在开始时您的记录是唯一的,不需要distinct
,您只需select npmrds_dummy.*
。